如何 运行 vstest.console.exe 单元测试 64 位平台

How to run vstest.console.exe for Unit Test 64-bit platform

如何运行vstest.console.exe针对 64 位平台?

设置为目标平台 x64 的单元测试未能在 DevOps 工具上 运行 (VSTS/TeamCity/Octopus)。

[error]Error: None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run.

Platform: X86 .Net Framework: Framework45. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.

本地是通过在 x64 上将 Visual Studio 上的测试设置为 运行 作为默认进程来实现的。

Test tab on VS > Test Settings > Default Process Architecture > x64

使用某些 DevOps 工具时,可以在脚本中指定平台,其中 运行s vstest.console.exe

In my case, I'm using Azure DevOps Build Definitions, so I set my VS Test task to /platform:x64 through a parameter when running vstest.console.exe.

vstest.console.exe "C:\Project\bin\x64\Release\Project.UnitTests.dll" "C:\Project\bin\x64\Release\Project.UnitTests.dll" /platform:x64 /logger:trx

设置后,所有以 x64 为目标的单元测试 dll 都将成功执行。

检查 C:\ 下是否有 vstest.console.exe 程序文件 (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Mi crosoft\TestWindow\

  • 从 cmd 转到保存项目 dll 的路径。 即 cd C:\Users\krakhil\Desktop\Notes\Practice Codes\VerifyExe\VerifyExe\bin\Debug

按回车键

然后写入 -> "C:\ 程序文件 (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Mi crosoft\TestWindow\vstest.console.exe" VerifyExe.dll

其中VerifyExe.dll是我要执行的项目dll。