问题标签 [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.
mstest - 如何在不运行测试并使用 vstest.console.exe 进行最少文本解析的情况下获取测试数量?
我有以下命令行工作:
它确实显示了可用的测试:
因此,我可以使用以下 Powershell 命令行获取计数:
但这是最好的方法吗?
例如,使用 NUnit,我可以获得一个列出所有测试用例的 xml 文件,并计算某些节点(使用 XPath)为我们提供 NUnit 测试用例的计数。我更喜欢这个,因为它不需要我解析命令输出。
所以,问题是 - 我们可以在不解析输出的情况下使用 vstest.console.exe 获得测试计数吗?
附言
纯粹主义者可能会指出读取 XML 涉及解析它。我对这种解析很好。
c# - vstest.console.exe 找不到 x64 的自定义测试记录器
我用 x64 创建了一个自定义记录器来记录一些测试结果数据。当我尝试运行测试时,出现“错误:找不到具有 URI 或 FriendlyName 'TrxTestLogger' 的测试记录器。” . 但是,当我使用 AnyCPU 构建时工作正常。我有一些内置于 x64 的测试 dll,我正在从我的自定义记录器中读取它们,所以我应该将自定义记录器保留为 x64。但是对于 x64,无法找到自定义记录器。
后续步骤:
- 使用 FriendlyName 'TrxTestLogger' 创建了自定义记录器。
- 用 x64 构建。
- 将自定义记录器 dll 放入 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions
有什么建议么?
visual-studio - vstest.console.exe --testcasefilter:"FullyQualifiedName=Namespace.classname 不工作
我是 vstest 的新手,我正在尝试从命令行运行 specflow 功能文件。我使用了以下命令,但它对我不起作用。
下面是命名空间和类名:
我尝试了以下命令:
另一个:
请注意,我也尝试过使用 ClassName 并且它再次不起作用:
我只需要使用完全匹配,这就是使用 = 运算符的原因。我不想使用 ~ 包含运算符。
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:\ 驱动器。
抱歉,只是觉得自己像个白痴有点沮丧。
powershell - Powershell 中的 Vstest.console 和基于结果的操作
我正在尝试使用 PowerShell 中的 vstest.console 运行一些功能单元测试,如果任何测试失败,我将执行某个操作(在这种情况下,它将回滚安装)。我该怎么做。
这是我拥有的 PowerShell 脚本的当前内容。
vstest - VSTest:命令测试程序集的执行
我们的代码库有 100 多个项目,每个项目都有测试。一些测试程序集花费更多时间,而其他一些程序集则花费更少的时间来执行测试。
Azure DevOps 服务器并行运行我们的整个测试套件,这使得它非常快。但问题是,长时间运行的测试是在测试运行的中间开始的,这会导致整个测试运行会更长。
有没有办法影响测试程序集的启动方式和时间?我想先启动长时间运行的测试程序集,然后再启动快速测试程序集。
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 相同的测试控制器/代理设置来运行测试吗?
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 中的测试?
我尝试用谷歌搜索类似的问题,但没有找到任何可行的方法。非常感谢任何帮助
azure-pipelines - 如何在 Azure 管道中的 vstest 任务中提供多个测试类别
我的项目有一些带有特定标签的 Nunit 测试,称为类别。
例如:32 位应用程序测试有x32
as 标签,64 位应用程序测试有x64
as 标签。
现在使用 vstest 任务,我可以为这样的一个类别运行测试:
当我想在我给出的同一个任务中运行多个类别TestCategory=x32,x64
并且它不起作用时。任务失败,控制台中没有任何错误。
我什至试过
关于如何提供多个类别的任何想法?
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 测试运行程序中也可以正常工作 - 那么问题是什么?