How to run vstest.console.exe for Unit Test 64-bit platform
如何针对 64 位平台运行 vstest.console.exe?
设置为目标平台 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.
在本地,它是通过将 Visual Studio 上的测试设置为在 x64 上作为默认进程运行来实现的。
Test tab on VS > Test Settings > Default Process Architecture > x64
使用某些 DevOps 工具时,可以在运行 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.
1 2 3 | vstest.console.exe"C:\\Project\\bin\\x64\ elease\\Project.UnitTests.dll""C:\\Project\\bin\\x64\ elease\\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\\\\
otes\\\\\\\\实践代码\\\\\\\\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。