Spo*_*ook 15 c++ dll unit-testing mstest native
我正在尝试从命令行运行单元测试.我尝试使用以下命令使用mstest.exe程序:
E:\VS Projects\...\>"C:\Program Files (x86)\Microsoft Visual Studio 11.0\
Common7\IDE\MSTest.exe" /testcontainer:mytest.dll
/testsettings:"E:\VS Projects\...\Local.testsettings"
Run Code Online (Sandbox Code Playgroud)
mstest程序响应是:
Microsoft (R) Test Execution Command Line Tool Version 11.0.50727.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading E:\VS Projects\...\Local.testsettings...
Loading mytest.dll...
mytest.dll
Unable to load the test container 'mytest.dll' or one of its
dependencies. If you build your test project assembly as a 64 bit assembly,
it cannot be loaded. When you build your test project assembly, select "Any
CPU" for the platform. To run your tests in 64 bit mode on a 64 bit
processor, you must change your test settings in the Hosts tab to run your
tests in a 32 bit process. Error details: Could not load file or assembly
'file:///E:\VS Projects\...\mytest.dll' or one of its dependencies. The
module was expected to contain an assembly manifest.
Run Code Online (Sandbox Code Playgroud)
Local.testsettings确实包含测试应在64位环境中运行的信息.
我猜,mstest需要一个程序集而不是本机测试项目,这就是它失败的原因.如果是这样,我如何从命令行运行本机测试?在另一种情况下,如何配置mstest才能正常工作?
Spo*_*ook 22
感谢Hans Passant的指导.
解决方案是使用:
C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe