我正在使用dotCover命令行工具(JetBrains)https://www.jetbrains.com/dotcover/download/#section=commandline
我正在阅读此文档 https://www.jetbrains.com/help/dotcover/Running_Coverage_Analysis_from_the_Command_LIne.html
我有一个逻辑DLL - x64编译
我有一个测试dll(AppTests测试项目)-x64编译
我在我的解决方案Items文件夹中使用以下参数创建了coverage.xml
<AnalyseParams>
<TargetExecutable>C:\Program Files (x86)\Microsoft Visual Studio12.0\Common7\IDE\MSTest.exe</TargetExecutable>
<TargetArguments>D:\Projects\TheApplication\bin\Debug\AppTests.dll</TargetArguments>
<Output>AppCoverageReport.html</Output>
<ReportType>html</ReportType>
</AnalyseParams>
我从cmd输入“dotcover analyze coverage.xml”
我得到了流动的错误: “如果您将测试项目程序集构建为64位程序集,则无法加载。在构建测试项目程序集时,请为平台选择”Any CPU“。要在64位处理器上以64位模式运行测试,您必须在“主机”选项卡中更改测试设置,以便在32位进程中运行测试“
我无法将logic.dll和AppTests.dll构建为“任何cpu”。
我读过这篇文章: How do I get unit tests to run on a x64 platform
但在我的情况下,我从dot cover命令行工具运行测试,而不是从visual studio UI运行。
我该怎么办?还有其他选择吗?
感谢。
答案 0 :(得分:2)
我从Resharper支持人员那里得到了答案,它可以解决我的问题,所以我要与大家分享。
<AnalyseParams>
<TargetExecutable>C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe</TargetExecutable>
<TargetArguments>D:\Projects\TheApplication\bin\Debug\AppTests.dll /Settings:"<your path>\runsetting.xml"</TargetArguments>
<Output>AppCoverageReport.html</Output>
<ReportType>html</ReportType>
</AnalyseParams>