我正在尝试使用 Opencover 来运行 NUnit 测试用例的代码覆盖率。我得到了预期的结果,但问题是在执行 opencover 时它再次运行测试。我们不希望发生这种情况,因为我们单独运行测试。下面是我的代码。
单元测试执行
<Exec Command="$(NUnit) @(AssembliesToTest->'"%(FullPath)"', ' ') /xml:"@(TestsDirectory)Unit-nunit-results.xml""
ContinueOnError="false" />
Run Code Online (Sandbox Code Playgroud)
公开执行
<Exec Command="$(OpenCoverExecutable) -register:user -target:$(NUnit) -targetargs:"/noshadow %(CodeCoverageAssemblies.fullpath) /domain:single" -mergeoutput -output:"$(OutputPath)\OpenCover-results.xml""
ContinueOnError="false" />
Run Code Online (Sandbox Code Playgroud)
有没有办法在不执行两次测试的情况下获得测试和代码覆盖结果。
提前致谢,
迪内什。
抱歉,答案是否定的 - OpenCover在执行代码时检测您的代码,以确定测试期间执行的代码。
为什么不直接使用 OpenCover 运行一次测试呢?如果您需要查看测试运行程序的错误代码,那么您可以使用-returntargetcode[:<opencoverreturncodeoffset>]这样的方式,将目标进程的退出代码作为 OpenCover 的退出代码返回,并且任何与 OpenCover 相关的退出代码都会移动到新范围。例如
-returntargetcode:1000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3072 次 |
| 最近记录: |