问题标签 [vstest.console]

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 回答
824 浏览

c# - 使用 VSTest 更改测试顺序

我们一直在运行使用 MSTest 使用 SpecFlow 创建的测试,测试的顺序由测试 ID 确定。因此,只需使用 1001_、1002_ 等开始测试名称,您就可以控制执行顺序。与 VStest 运行相同的订单时出现问题。如另一篇文章所述,VSTest 的执行顺序如下*。而唯一明显的选择是创建一个“有序测试”容器,这并不适合我们。想知道是否有办法使用 VSTest 控制测试顺序。谢谢

*关于VSTest的执行顺序。以下是它在您的 TestProject 中的组织方式:

  1. 按 CREATION Time ASC 对项目中的 cs 文件进行排序
  2. 每个文件中的方法位置

例如,您在项目中有 3 个 cs 文件。

UnitTest1.cs - 使用方法 TestMethod05 和 TestMethod03 创建于 01/01/1970

UnitTest2.cs - 使用方法 TestMethod02 创建于 05/01/1970。

UnitTest3.cs - 使用方法 TestMethod01 创建于 03/01/1970。

然后执行测试的顺序是这样的:

您可以使用命令查看“默认顺序”:vstest.console.exe TestProject1.dll /ListTests*

0 投票
1 回答
255 浏览

mstest - VS Web 测试 (MSTest) - 从 vstest.console 运行时如何设置“每个数据源行运行一次”

我在 Visual Studio 中使用“每个数据源行运行一次”设置:

Web 测试运行设置

正如对话框所说,这没有保存。

如何提供设置vstest.console.exe


编辑:我认为测试设置编辑器中曾经有一个Web 测试选项卡,我可以在其中进行设置。MSDN 文档,下面的屏幕截图来自John Peters 的这篇文章

我的(VS 2017 Enterprise)测试设置编辑器没有显示所有这些选项卡。只有General, Deployment,Setup and Cleanup ScriptsAdditional Settings.

在此处输入图像描述

0 投票
0 回答
266 浏览

mstest - 规范流。MSTest(VSTest) 找不到测试

我已经在 VS2017 中使用 2.3 版本的 specflow 启动了一个新的 UnitTets 项目。我使用 MSTest,有时使用 VSTest 来运行测试,并且在我的旧项目中取得了成功。我可以在这个新项目中从测试资源管理器运行我的测试。但是每当我使用 mstest(在 VS 2017 开发命令提示符中)或 vstest 控制台时,我都会收到错误消息:

“没有要执行的测试。”

当我尝试 2015 VS 开发命令提示符时,我收到此错误:

“指数数组的边界之外。”

除了针对性之外,我的设置与其他解决方案完全相同。.NetFramework 版本,不知道什么时候需要让它工作。

我试过了

  1. 降级到 2.1.0 规范流。
  2. 将目标 .net 版本从 4.6.1 更改为 4.5
0 投票
1 回答
1726 浏览

tfs - vstest.console.exe - 通过命令行指定输出文件位置

我正在 vstest.console.exe 上运行测试。如何指定结果文件的位置?

解决方案:从我希望我的“TestResults”出现的文件夹中运行测试

0 投票
1 回答
160 浏览

azure-devops - VSTS 测试失败但 vstest.console 通过;出于某种原因,断言在代码之前执行?

好吧,我们拥有的系统有很多依赖项,但我会尝试总结发生的事情而不透露太多细节。

.dll 形式的测试程序集是正在执行的程序集。很多这些测试调用 API。

在有问题的方法中,有 2 个 API 调用需要等待:一个用于将记录写入该外部接口,另一个用于提取所有记录,然后读取该外部接口中的最后一个,均通过 API。该测试只是检查在端到端上下文中写入最后一条记录是否成功,这就是为什么既有写入又有读取的原因。

如果我们在 Visual Studio 中执行测试,一切都会按预期进行。我还通过命令行 vstest.console.exe 手动对其进行了测试,并且总是会出现预期的结果。

但是,当涉及到 VSTS 中的 VS 测试任务时,由于某种原因它失败了。我们一直在试图弄清楚,最终我们达到了从“读取”部分打印列表的地步。原来我们插入的最后一条记录不在我们拉取的数据中,但是如果我们通过不同的方法检查外部接口,我们确认写入过程确实发生了。是什么赋予了?为什么 VSTest 变得像一组过时的记录?

我们还注意到两件事:

1.) 对于通过的测试,没有任何 Console.WriteLine 输出出现在日志中。只有在失败的测试中,他们才会这样做。

2.) 即使我们的 Data.Should.Be 调用在 TestMethod 的最后,日志会在打印出这些行之前报告失败!即便如此,打印应该读取记录列表之后发生,但是当打印发生时,我们仍然缺少我们刚刚编写的记录。

有没有像我们在这里缺少的自下而上的东西?在我看来,VSTS vstest 确实在实际代码之前执行了断言。虽然 TestMethods 的顺序发生了正确的顺序(代码中从上到下编写的第 4 个测试是第 4 个而不是第 4 个到最后执行),我们需要它们以正确的顺序发生,因为后面的一些测试依赖于以前的测试成功。

我们在这里缺少什么吗?我会放一个源代码,但如果是这样的话,我需要先清理很多东西。

0 投票
3 回答
5352 浏览

visual-studio - 如何离线安装 vstest.console.exe

我应该vstest.console.exe在文件夹路径中进行离线安装,如下所示:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow

我尝试过使用离线包,例如vs_testagent.exevs_testcontroller.exe根据以下链接:https ://docs.microsoft.com/en-us/visualstudio/install/create-a-network-installation-of-visual-studio 。但是,这些包不包含vstest.console.exe.

由于空间问题,我也无法完整安装 VS2017。有人有什么建议吗?谢谢。

0 投票
2 回答
908 浏览

azure-pipelines-release-pipeline - 在 VSTS 部署组上运行编码 UI 测试时没有可用的测试错误

我们已配置发布定义以在 VSTS 部署组上运行编码的 UI 测试。

无法启动测试,错误详情:

未设置 Windows 错误报告 DontShowUI,如果在 UI 测试执行过程中弹出 Windows 错误对话框,则测试将挂起

[debug]Processed: ##vso[task.issue type=warning;]Windows 错误报告 DontShowUI 未设置,如果在 UI 测试执行过程中弹出 windows 错误对话框,则测试将挂起。

c:\test\WorkFlow.dll 中没有可用的测试。确保测试发现者和执行者已注册并且平台和框架版本设置正确,然后重试。

我们如何解决此问题,因为可以使用 vstest.console.exe 手动启动测试

0 投票
1 回答
311 浏览

azure-devops - Visual Studio 测试任务在管道中失败,但在测试控制台中成功

作为构建定义的一部分,我正在使用Visual Studio 测试任务来运行我的所有测试。我启用的选项如下:

在此处输入图像描述

现在,这里的问题是,当我从构建管道运行它们时,我的一些测试总是失败,但是当我通过 vstests console.exe 命令运行它们时,所有这些测试似乎都通过了。

ex: "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\VSTest.Console" <path to dll>

有谁知道这里可能出了什么问题?谢谢。

0 投票
0 回答
448 浏览

c# - 指定 .runsettings 文件时无法使用 vstest.console.exe - MS 测试

我正在使用 MSTest 项目来自动化我的系统。测试项目工作正常。但是我需要在我的生产中运行测试项目而不安装 Visual Studio。所以我正在使用 VSTest.Console.exe 命令行。

我的登录方法如下

和我的 vstest.console 命令如下

vstest.console MyPath\SmokeTests.dll /Tests:Login /Settings: PathToSettingFile\tests.runsettings

当我运行此命令时,它会给我“System.NullReferenceException:对象引用未设置为对象的实例。” 错误

但是如果我改变我的方法如下

上面的代码将正常工作。

所以问题是

TestContext.Properties["UserName"].ToString()

当我通过 Visual Studio 运行测试用例时,没有问题。知道为什么 /Settings: PathToSettingFile\tests.runsettings 无法加载通过 vstest.console 命令运行的 runsettings 文件。谢谢你。

0 投票
1 回答
2322 浏览

visual-studio - VS 测试在 Azure DevOps 中失败,而所有测试都成功了

在我们升级到 VS2019 并在 Azure DevOps 中使用 VS 测试任务 v2.0 后,我们的测试任务一直失败并显示以下消息:

在此处输入图像描述

我们的 Visual Studio 2019 版本:16.2.5

任务版本为:Visual Studio Test 2.157.3

VS 测试任务有什么问题?

更新,错误信息是:

[错误]错误:进程'C:\BldWorkarea\SLB1_VSTS\ZhouShuRen_work_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.157.3\Modules\DTAExecutionHost.exe'失败,退出代码为1