从命令行对Visual Studio 2012本地c++测试运行mstest
Running mstest from command line against Visual Studio 2012 native C++ tests
我有一个Visual Studio 2012解决方案与一些本地c++测试项目。我可以使用Test Explorer选项卡从Visual Studio 2012中正确成功地运行所有这些。
但是,从命令行运行时无法使测试运行。
在文档之后,我运行了以下命令行
mstest /testcontainer:PathToTestProjectWin32Releasetestproject.dll
我还需要运行
mstest /testcontainer:PathToTestProjectx64Releasetestproject.dll
用于测试64位版本的代码。
当我运行这些命令行时,我得到以下错误消息:
Microsoft (R)测试执行命令行工具版本11.0.50727.1版权(c)微软公司。版权所有
加载PathToTestProject Win32 testproject.dll释放……PathToTestProject Win32 testproject.dll发布无法加载测试容器PathToTestProjectWin32Releasetestproject.dll'或其依赖项之一。如果将测试项目程序集构建为64位程序集,则无法加载它。当您构建测试项目程序集时,为平台选择"Any CPU"。若要在64位处理器上以64位模式运行测试,必须更改"主机"选项卡中的测试设置,以便在32位进程中运行测试。错误详细信息:无法加载文件或程序集'file:///c:PathToTestProjectWin32Releasetestproject.dll'或其依赖项之一。该模块应该包含程序集清单。
代码是本地c++,有两个构建配置,一个在Win32平台上,另一个在x64平台上。我不能有AnyCPU平台配置。为了能够从命令行运行测试,我在这里缺少什么?
经过大量的搜索,我终于发现了一个非常隐藏的msdn文档页面这里说明了mstest与不同测试项目类型的兼容性。事实证明,mstest与本机单元测试不兼容(msdn很好地在一个容易找到的位置记录了这一点)。相反,您需要使用visual studio测试运行(vest .console.exe)来代替本机单元测试项目的msbuild。
例如vstest.console.exe /Platform:x64 PathToTestProjectx64Releasetestproject.dll
- 换位表导致测试失败(但在游戏中运行良好)
- 扩展类中的可选 vir 函数,测试它在运行时是否存在
- 在 64 位的 c++ 中运行 mstest 测试
- 运行 C++ 单元测试时LNK2005链接错误
- QTEST_MAIN如何自动设置所有内容以运行测试?
- 如何将我的 CMake 项目配置为运行所有单元测试?
- 如何让谷歌测试正常运行。测试总是失败。(它不会编译)
- 如何从测试脚本中运行WAF编译C++程序?
- 如何在测试运行期间获取资源的目录路径
- 使用 ' ios::sync_with_stdio(0)' 测试运行时的差异时,为什么我的输出是碎片化的?
- C++ / GoogleTest - 如何在链接目录中为每个测试运行安装程序
- 所有测试运行后,Visual Studio本地测试:写入文件
- 如何在Visual Studio中设置C /C代码仅在一个线程中运行以测试运行时间
- c++ Google 测试运行两次
- 如何在Xcode 6.1.1中使用谷歌测试运行本地c++单元测试
- 是否可以在谷歌测试运行中将测试标记为需要很长时间
- 如何在TFS生成期间显式排除测试运行程序中的程序集
- VS2012 -禁用并行测试运行
- 从命令行对Visual Studio 2012本地c++测试运行mstest
- c++测试运行时类型信息