1

我刚刚从 Nuget 获取了 NUnit、NUnit Runners 和 OpenCover。NUnit 部件在 GUI 和控制台模式下运行良好。但在 PowerShell 中,我似乎无法让 OpenCover 正常工作。按照各种使用示例,我最终得到了这个命令:

.\OpenCover.Console.exe -register:user -target:"..\NUnit.Runners.2.6.1\tools\nunit-console.exe" -targetargs:"/noshadow C:\Path\To\Tests.dll" -filter:+[*]* -output:coverage.xml

我从 NUnit 看到了开放的版权信息,但随后 NUnit 告诉我:

致命错误:未指定输入

当然,随后是描述标志和诸如此类的标准帮助输出。然后,自然地,OpenCover 也会显示一个错误,表明没有任何内容与过滤器匹配并且没有结果。

所以我尝试直接运行 NUnit:

..\NUnit.Runners.2.6.1\tools\nunit-console.exe /noshadow C:\Path\To\Tests.dll

它运行良好。测试通过,一切顺利。考虑到文档和示例可能已经过时,我尝试将其targetargs直接组合到调用中:

.\OpenCover.Console.exe -register:user -target:"..\NUnit.Runners.2.6.1\tools\nunit-console.exe /noshadow C:\Path\To\Tests.dll" -filter:+[*]* -output:coverage.xml

但是错误输出仍然相同。

我是否在正确使用 OpenCover 时遗漏了什么?如何让它与 NUnit 控制台运行器正确交互?

4

1 回答 1

0

可能与首先设置当前工作目录有关吗?

我的过滤器参数也用引号引起来,例如-filter:"+[*]*"

至少可能值得排除这些......

于 2012-10-15T12:01:12.170 回答