我用Google搜索并找到了以下有用的参考资料.目前我希望在以下情况下从命令行运行所有内容(为了便于执行和快速):
我不知道如何才能为上述需求编写正确的命令.
参考文献:
过了一会儿,我发现了以下有用的提示.
%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe我的情况下的MSTest.exe运行Visual Studio单元测试./testcontainer:Path\To\Your\TestProjectAssembly.dll以指示您的测试编码.如果需要,您可以指定多个'/ testcontainer'选项./test:TestFilter过滤来运行测试.请注意,此过滤器适用于完整的测试方法名称(即FullNamespace.Classname.MethodName)我有一个Visual Studio 2012解决方案,其中包含许多本机c ++测试项目.我可以使用"测试资源管理器"选项卡在Visual Studio 2012中正确且成功地运行所有这些.
但是,从命令行运行时,我无法运行测试.
根据文档,我一直在运行以下命令行
mstest /testcontainer:PathToTestProject\Win32\Release\testproject.dll
Run Code Online (Sandbox Code Playgroud)
我也需要跑
mstest /testcontainer:PathToTestProject\x64\Release\testproject.dll
Run Code Online (Sandbox Code Playgroud)
用于测试64位版本的代码.
当我运行这些命令行时,我收到以下错误消息.
Microsoft(R)测试执行命令行工具版本11.0.50727.1版权所有(c)Microsoft Corporation.版权所有.
加载PathToTestProject\Win32\Release\testproject.dll ... PathToTestProject\Win32\Release\testproject.dll无法加载测试容器PathToTestProject\Win32\Release\testproject.dll'或其依赖项之一.如果将测试项目程序集构建为64位程序集,则无法加载它.构建测试项目程序集时,请为平台选择"Any CPU".要在64位处理器上以64位模式运行测试,必须在"主机"选项卡中更改测试设置,以便在32位进程中运行测试.错误详细信息:无法加载文件或程序集'file:/// c:\ PathToTestProject\Win32\Release\testproject.dll'或其依赖项之一.该模块应该包含一个程序集清单.
代码是本机c ++,在Win32平台上有两个构建配置,在x64平台上有另一个构建配置.我不能拥有AnyCPU平台配置.我在这里缺少什么能够从命令行运行测试?
我为此使用脚本:
"%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\TF.exe" get $/DmlOnDemmand /recursive /force /noprompt
我构建解决方案.sln
call %msBuildDir%\msbuild %solutionName% /t:Rebuild /p:Configuration=%buildType%
现在,我想执行所有单元测试并检查一切正常.
如何使用像MSBuild这样的构建工具从命令行执行解决方案的.csproj项目的单元测试?