问题标签 [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 回答
390 浏览

c# - c# vstest.console.exe 运行单元测试花费了太多时间

我有用 c# wpf 编写的大项目,我也在 jenkins 中持续集成,构建项目并在每次提交后运行单元测试。

构建是增量的。由于单元测试,我有一个问题,CI 太慢了

构建整个解决方案所需的时间:7 分钟

运行所有单元测试所需的时间(~350 个单元测试):10 分钟我使用这个脚本:

有没有办法只为提交更改的项目运行测试 dll?因为我的构建是增量的,所以我想减少运行这些单元测试的时间,我该怎么做?谢谢

0 投票
0 回答
38 浏览

visual-studio-2017 - 鼠标速度问题(Visual Studio 和 vstest.console.exe)

使用命令提示符时鼠标速度位移不是恒定的,具体取决于 Visual Studio 是否打开。

我正在寻找解决此问题的方法。

环境:

Windows 10 企业版 1803 (17134.407)

VS 测试代理 2017 15.9.2

VS 企业 2017 15.9.2

脚步

  1. 创建一个编码的 UI 项目 (.net 4.7.1)。

  2. 添加以下测试方法:

    public void CodedUITestMethod1() { Mouse.Move(new Point(10, 10)); var start = DateTime.Now; Console.WriteLine($"MouseMoveSpeed={Mouse.MouseMoveSpeed.ToString()}"); Mouse.Move(new Point(500, 500)); Console.WriteLine($"Time= {DateTime.Now - start}, MouseMoveSpeed= Mouse.MouseMoveSpeed.ToString()}"); }

  3. 从 Visual Studio 运行测试并记下标准输出(我得到:Time=00:00:01.7835117,MouseMoveSpeed=450)。

  4. 关闭 Visual Studio 的所有实例并从命令提示符处执行之前的测试方法:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\Users\fakeUser\Source\Repos\CodedUITestProject1\bin\发布\CodedUITestProject1.dll" /Logger:trx

  1. 检查 trx 文件中测试结果的标准输出(我得到:Time=00:00:10.3616613, MouseMoveSpeed=450)

  2. 打开 Visual Studio 的一个实例(不需要打开项目,例如可以是 Trx 文件的视图)并在命令提示符下再次运行测试方法。

  3. 检查 trx 文件中测试结果的标准输出(我得到:Time=00:00:01.8037781,MouseMoveSpeed=450)

实际结果:

在 Visual Studio 打开时,通过 vstest.console.exe 执行测试方法时,鼠标速度更快。

预期结果:

无论执行方式如何,鼠标位移都保持不变。

供参考:

  • 在仅安装了 VS 测试代理(未安装 Visual Studio)的全新安装 Windows 10 Professional 时,我得到了相同的结果。

  • 命令提示符中的 MSTest 而不是 VSTest 给出了相同的结果(比打开 Visual Studio 会话时慢)。

  • 您必须先从 Visual Studio 执行测试方法,然后才能运行命令提示符(按照步骤顺序)。也许 Visual Studio 加载的依赖项会创建此行为。

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

tfs - TFS 2017 测试计划:将测试用例设置为不适用或从 trx 结果文件中阻止

在 VStest 任务中执行自动化测试后,vstest.exe 会生成 trx 结果文件。此 trx 仅包含 3 种类型的结果:通过、失败和跳过。这种类型的结果发布到 TFS 测试计划中。

是否有可能根据此结果将“不适用”或“阻止”结果添加到 trx 并更新 TFS 测试计划中的测试用例?

我认为应该使用自定义记录器,但是我可以将哪种类型的结果用于“不适用”或“已阻止”?

UnitTestOutcome 有 9 种可能的测试结果 https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.testtools.unittesting.unittestoutcome?view=mstest-net-1.2.0 但实际上是 vstest.exe生成并放入 trx 中只有 3 个这种类型。

0 投票
1 回答
226 浏览

tfs - 从 TFS Build 执行第一次测试后 vstest.console.exe 卡住

我在 TFS 上设置了我的项目的构建定义。我打算添加任务以运行 C++ 单元测试并在每次构建后运行它们。

我尝试并添加了任务。当测试在 TFSBuild 上运行时,第一个测试因未处理的 c++ 异常而崩溃,并且没有移至下一个测试。它自己挂在那里。

所以我尝试使用命令行(cmd)手动运行测试。我运行了 vstest.console.exe 命令并执行了所有测试,当从 Build Agent 上的 cmd 运行时它们运行良好。我还尝试在 Visual Studio 上运行它们,它们在 Build Agent 上运行良好。

我不确定 TFS 出了什么问题。

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

vstest.console.exe - 使用 vstest.console.exe,如何获取程序集的所有测试方法的完全限定名称?

/ListTests 选项只输出没有类和命名空间的方法名称,这没有任何意义!而且文档似乎没有提供任何额外的工具来做到这一点。

0 投票
0 回答
59 浏览

c# - 将托管 VS 测试项目中的 std::vector 传递给托管 Dll

我正在使用托管 VS 测试项目编写单元测试。
我有一个托管(CLI/C++)代码,如下所示

我已经将上述项目构建为 DLL。
在我的测试项目中,我参考上面生成的 dll 编写了如下代码。

我在上面的代码中省略了所有其他的 include 和 using 语句,比如using 命名空间 Systeminclude
现在,当我尝试构建项目时,出现以下错误

我什至试过c1->fillVec(&temp); 匹配错误注释中给出的参数,仍然没有运气。

谁能帮我解决瓶颈问题?

0 投票
1 回答
1823 浏览

azure-devops - 在 Visual Studio 测试任务 v2 上,我收到错误:找不到提供的测试源文件“...UnitTestFramework.dll”

在 Azure DevOps 上,我有一个带有 Visual Studio 测试任务 v2 的构建管道: 在此处输入图像描述

我的解决方案上有 VS.QualityTools.UnitTestFramework nuget 包。

我收到以下错误:

当我在本地机器上的 Visual Studio 上运行测试时,它运行良好。你有任何猜测为什么会发生这个错误吗?

0 投票
1 回答
2440 浏览

powershell - 如何在 powershell 中使用 VSTEST.CONSOLE.EXE 运行 mstest

在阅读并尝试了 Stack overflow 中的可用帖子后,我问了这个问题。

我正在努力在 powershell 中触发 MSTEST

这是我的尝试(显然借助堆栈溢出中可用的帖子)

控制台输出:

如果我在正常的 Windows cmd 提示符下运行,则测试运行没有任何问题,但是当我尝试从 powershell 触发时出现上述错误。

有人可以帮助我我的脚本有什么问题吗?

如果我的脚本很复杂或没有意义,请原谅我是 powershell 的新手。我的目标是在 Octopus Deploy 步骤过程中使用上述 powershell 脚本来触发测试。如果有人知道简单或更好的方法,请分享...

谢谢