NUnit测试的OpenCover覆盖范围

时间:2015-07-29 14:34:52

标签: opencover

我正在尝试使用Opencover for NUnit测试用例来运行代码覆盖。我正在按预期获得结果,但问题是在执行opencover时它再次运行测试。当我们单独运行测试时,我们不希望这种情况发生。以下是我的代码。

单元测试执行

<Exec Command="$(NUnit) @(AssembliesToTest->'&quot;%(FullPath)&quot;', ' ') /xml:&quot;@(TestsDirectory)Unit-nunit-results.xml&quot;" 
      ContinueOnError="false" />

OpenCover执行

<Exec Command="$(OpenCoverExecutable) -register:user -target:$(NUnit) -targetargs:&quot;/noshadow %(CodeCoverageAssemblies.fullpath) /domain:single&quot; -mergeoutput -output:&quot;$(OutputPath)\OpenCover-results.xml&quot;" 
      ContinueOnError="false" />

有没有办法在不执行测试两次的情况下获得测试和代码覆盖结果。

先谢谢,

的Dinesh。

1 个答案:

答案 0 :(得分:4)

很抱歉答案是否定的 - OpenCover会对您的代码进行检测,以确定测试期间执行的代码。

为什么不使用OpenCover运行测试一次。如果您需要查看测试运行器的错误代码,那么您可以使用-returntargetcode[:<opencoverreturncodeoffset>],以便返回目标进程的退出代码作为OpenCover的退出代码,并将任何与OpenCover相关的退出代码移动到新的范围。 e.g。

-returntargetcode:1000