使用dotCover命令行工具(JetBrains)进行单元测试覆盖 - 是否可以使用x64 dll测试运行此工具?

时间:2018-06-11 13:02:16

标签: unit-testing resharper code-coverage jetbrains-ide dotcover

我正在使用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运行。

我该怎么办?还有其他选择吗?

感谢。

1 个答案:

答案 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>