问题标签 [vstest.console.exe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
106 浏览

mstest - 如何在不运行测试并使用 vstest.console.exe 进行最少文本解析的情况下获取测试数量?

我有以下命令行工作:

它确实显示了可用的测试:

因此,我可以使用以下 Powershell 命令行获取计数:

但这是最好的方法吗?

例如,使用 NUnit,我可以获得一个列出所有测试用例的 xml 文件,并计算某些节点(使用 XPath)为我们提供 NUnit 测试用例的计数。我更喜欢这个,因为它不需要我解析命令输出。

所以,问题是 - 我们可以在不解析输出的情况下使用 vstest.console.exe 获得测试计数吗?

附言

纯粹主义者可能会指出读取 XML 涉及解析它。我对这种解析很好。

0 投票
0 回答
306 浏览

c# - vstest.console.exe 找不到 x64 的自定义测试记录器

我用 x64 创建了一个自定义记录器来记录一些测试结果数据。当我尝试运行测试时,出现“错误:找不到具有 URI 或 FriendlyName 'TrxTestLogger' 的测试记录器。” . 但是,当我使用 AnyCPU 构建时工作正常。我有一些内置于 x64 的测试 dll,我正在从我的自定义记录器中读取它们,所以我应该将自定义记录器保留为 x64。但是对于 x64,无法找到自定义记录器。

后续步骤:

  1. 使用 FriendlyName 'TrxTestLogger' 创建了自定义记录器。
  2. 用 x64 构建。
  3. 将自定义记录器 dll 放入 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions

有什么建议么?

0 投票
0 回答
228 浏览

visual-studio - vstest.console.exe --testcasefilter:"FullyQualifiedName=Namespace.classname 不工作

我是 vstest 的新手,我正在尝试从命令行运行 specflow 功能文件。我使用了以下命令,但它对我不起作用。

下面是命名空间和类名:

我尝试了以下命令:

另一个:

请注意,我也尝试过使用 ClassName 并且它再次不起作用:

我只需要使用完全匹配,这就是使用 = 运算符的原因。我不想使用 ~ 包含运算符。

0 投票
0 回答
55 浏览

vstest.console.exe - SpecRun / VSTest - 目录路径的内部结构是什么

我是实施 SpecRun/SpecFlow 的新手。我真的在为运行设置、配置文件和目录路径苦苦挣扎。所有这一切的最终结果是在 Azure 环境中运行我们的 Web 测试,希望将结果发布到 TFS。但我不明白为什么 SpecRun 会做它正在做的事情。我很难弄清楚如何用这个词来表达。

文档指出所有文件都与 baseFolder 相关。它声明 baseFolder 应该是 bin 文件夹(在我的情况下是 bin\debug。)所有输出都将与该文件夹相关。这是我的第一个压力来源。就个人而言,我不希望任何改变 bin 文件夹的东西。所有那种报告/日志的东西都应该写在别处,不在 bin 文件夹附近。

我的应用程序对其基本文件夹(项目的当前文件夹)敏感。据了解,当前文件夹是开始处理的位置(cd \project\process; exec 进程。)它是应用程序获取其环境设置的那个文件夹。但处理炸弹时出现以下错误:

Could not find a part of the path 'C:\classes\defaulttestdata\default_data_values.json'

是什么将当前目录从项目更改为 c:\ ?为什么要这样做。我发现自己必须重新设计传递参数的方式,以及我可以在应用程序内部做出哪些假设。

当使用 .runsetting 使用 vstest.console 开始测试时,它会变得更加复杂,这反过来又引用了一个配置文件。指定名称 .srprofile,它位于项目文件夹中。但是,处理炸弹因为找不到它:

> vstest.console bin\debug\rti.accidents.web.webtesting.dll --Settings:console.runsettings

Could not find file 'C:\Code\Branches\NIEDO2\V4\Accidents\RTI.Accidents.Web.WebTesting\bin\debug\specrun.srprofile'

它是如何知道从哪里获取 bin\debug 文件夹以进行查看的?配置文件说 specrun.srprofile,而不是 bin\debug\specrun.profile?

我不知道输出和日志的去向。经过我所有的尝试,我找到了 c:\TestResults、c:\TestResults 和 c:\bin\debug\TestResults。有时有输出;有时不是。

在 Visual Studio 中,一切都表现得非常好。它运行所有 hunky dory,将输出放在我想要的相对于项目(而不是 bin)的位置。

有没有人成功使用 vstest.console 愿意分享他们的 .runsettings 和 .srprofile 的副本,这样我就可以看到这一切是如何结合在一起的。有没有其他人提出“你没有写回应用程序 bin 文件夹”的论点。在某些情况下,受保护的空间并且您不希望报告/日志占用 ac:\ 驱动器。

抱歉,只是觉得自己像个白痴有点沮丧。

0 投票
1 回答
130 浏览

powershell - Powershell 中的 Vstest.console 和基于结果的操作

我正在尝试使用 PowerShell 中的 vstest.console 运行一些功能单元测试,如果任何测试失败,我将执行某个操作(在这种情况下,它将回滚安装)。我该怎么做。

这是我拥有的 PowerShell 脚本的当前内容。

0 投票
2 回答
315 浏览

vstest - VSTest:命令测试程序集的执行

我们的代码库有 100 多个项目,每个项目都有测试。一些测试程序集花费更多时间,而其他一些程序集则花费更少的时间来执行测试。

Azure DevOps 服务器并行运行我们的整个测试套件,这使得它非常快。但问题是,长时间运行的测试是在测试运行的中间开始的,这会导致整个测试运行会更长。

有没有办法影响测试程序集的启动方式和时间?我想先启动长时间运行的测试程序集,然后再启动快速测试程序集。

0 投票
1 回答
257 浏览

selenium - 使用 runsettings 运行测试时获取“StackExchange.Redis.RedisConnectionException”

尝试使用 runsettings 文件运行测试时遇到问题。我们有一个启用了 SSL 的 redis 缓存,我们正试图从我们的测试中访问它。

StackExchange.Redis.RedisConnectionException:没有可用于服务此操作的连接:SET sample.TM.test|ConnectionSample|System.String|Sample ---> StackExchange.Redis.RedisConnectionException:SocketFailure on .cache.windows.net:6380/订阅,来源:已连接,输入缓冲区:0,未完成:0,上次读取:1 秒前,上次写入:1 秒前,未回答写入:464270 秒前,保持活动:60 秒,待处理:0,状态:正在连接, last-heartbeat: never, last-mbeat: -1s ago, global: 1s ago, mgr: Inactive, err: never ---> System.IO.IOException: Unable to read data from the transport connection: 一个现有的连接是被远程主机强行关闭。---> System.Net.Sockets.SocketException: 现有连接被远程主机强行关闭

何时能够在使用此运行设置的情况下运行相同的测试。

无论如何我可以在不迁移到 MSTest V2 的情况下成功运行测试吗?

或者

我可以使用与 MSTest V2 相同的测试控制器/代理设置来运行测试吗?

0 投票
1 回答
98 浏览

selenium - NUnit 测试不会通过 DevOps 中的 VSTest 重新启动

我正在使用 VSTest 通过 Azure DevOps 运行测试。测试成功运行,但使用选项rerun failed tests: true,在重新启动阶段出现错误。

NUnit 3.12.0 ; NUnit 适配器 3.16.1.0(与 4.0.0.0 一起检查)

如何修复此错误并成功重新启动 DevOps 中的测试?

我尝试用谷歌搜索类似的问题,但没有找到任何可行的方法。非常感谢任何帮助

0 投票
1 回答
935 浏览

azure-pipelines - 如何在 Azure 管道中的 vstest 任务中提供多个测试类别

我的项目有一些带有特定标签的 Nunit 测试,称为类别。

例如:32 位应用程序测试有x32as 标签,64 位应用程序测试有x64as 标签。

现在使用 vstest 任务,我可以为这样的一个类别运行测试:

当我想在我给出的同一个任务中运行多个类别TestCategory=x32,x64并且它不起作用时。任务失败,控制台中没有任何错误。

我什至试过

关于如何提供多个类别的任何想法?

0 投票
1 回答
1178 浏览

c# - 使用 Microsoft.Data.SqlClient 2.0 时无法从单元测试加载 DLL 'Microsoft.Data.SqlClient.SNI.x86.dll'

在我的代码中使用Microsoft.Data.SqlClient包(2.0 版)时,当通过 CI 提供程序中的VSTest.console.exe执行单元测试时(以及在本地运行时),我收到以下错误:

System.TypeInitializationException:“Microsoft.Data.SqlClient.TdsParser”的类型初始化程序引发异常。---> System.TypeInitializationException:“Microsoft.Data.SqlClient.SNILoadHandle”的类型初始化程序引发了异常。---> System.DllNotFoundException:无法加载 DLL 'Microsoft.Data.SqlClient.SNI.x86.dll':找不到指定的模块

代码正确执行,单元测试在 NCrunch 和 Visual Studio 2019 测试运行程序中也可以正常工作 - 那么问题是什么?