1

在我们的持续集成过程中,我们使用 Jenkins、NUnit 和 OpenCover。

每个 Jenkins 作业都运行 NUnit 和 OpenCover,但 OpenCover 调用 NUnit 批处理文件以确定代码覆盖率;因此 NUnit 被执行两次。

例如,我们有第一批(简化的)批次:

nunit-console-x86 [PathToTestAssemblies] /xml=NunitResult.xml /noshadow /nodots /process=Separate

我们还有第二批 OpenCover:

OpenCover.Console.exe -target:"NUnit.bat" -output:"./OpenCoverResults.xml" -register -targetdir:".\bin" -coverbytest:*.dll

问题是 OpenCover 不提供 NUnit 结果(我之前命令中的 NunitResult.xml 文件)。因此,为了减少每个 Jenkins 作业的测试时间,我们希望取回 NUnit 结果,或者在 Jenkins 作业网页中找到一种使用 OpenCover 具有以下功能的方法:

  • 每个 Jenkins 工作的最新测试结果,因此开发人员很容易看到最新结果。
  • 测试结果趋势

有没有办法通过一次 NUnit 运行同时获得 NunitResult 和 OpenCover 结果?

4

1 回答 1

2

我终于发现是 NUnitResult.xml 文件。事实上,我把所有测试程序集(例如:bin)放在文件夹中,而 Nunit 批处理将它放在根位置。

我认为这是因为我使用带有“bin”的 -targetdir 参数来指示 OpenCover 是我的程序集。

于 2014-11-03T15:26:47.140 回答