我刚刚从 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 控制台运行器正确交互?