3

我正在使用使用 OpenCover 的 Gallio 声纳,尽管有测试类并且我的机器需要大约 15 秒来尝试运行测试(至少看起来是这样),但它给了我 0% 的代码覆盖率,之后他们'用线来概括0 run, 0 passed, 0 failed, 0 inconclusive, 0 skipped。所以,我浏览了互联网/stackoverflow,发现这可能与在另一台机器上编译的代码有关。就像这里的情况一样,我在 Visual Studio 中打开了解决方案,构建了它,我可以看到我的 PDB 文件被重新创建。之后,我再次尝试使用 opencover 声纳。它没有帮助

我从管理控制台中取出调用 OpenCover 的代码行,进入 OpenCover 目录并执行同一行,没有过滤器,因为我的 coverage-report.xml 告诉我测试模块是skippedDueTo="Filter". 之后他们不再被跳过。尽管如此,0% 的测试覆盖率

我在同一个管理控制台中注册了 OpenCover 分析器库regsvr32 OpenCover.Profiler.dll(并尝试了两次,因为我在 Windows 7 上但使用的是 32 位声纳)。没有帮助

我尝试了添加 -oldStyle 参数的同一行也没有帮助

现在我觉得我没有选择...

我在管理控制台中尝试的最新调用:

C:\Program Files\OpenCover>OpenCover.Console.exe -register:user -target:"C:\Program Files\Gallio\bin\Gallio.Echo.exe" -targetdir:D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\.sonar "-targetargs:\"/r:IsolatedAppDomain\" \"/report-directory:D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\.sonar\" \"/report-name-format:gallio-report\" \"/report-type:Xml\" \"D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\CDPBackoffice.BusinessLogic.Tests\bin\Debug\CDPBackoffice.BusinessLogic.Tests.dll\" \"D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\CDPBackoffice.Utility.Tests\bin\Debug\CDPBackoffice.Utility.Tests.dll\" \"D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\CDPBackoffice.DataAccessLayer.Tests\bin\Debug\CDPBackoffice.DataAccessLayer.Tests.dll\"" -mergebyhash -output:D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\.sonar\coverage-report.xml -oldStyle

该解决方案确实有几个测试类,它们在 Visual Studio 中执行它们时运行,它们确实调用源类。他们中的一些人失败了一些人成功了。

任何人仍然对如何获得测试结果有所了解?最好在声纳中,但是,嘿,因为使用上面的调用执行 OpenCover 会将结果放在 coverage-report.xml 中,而声纳使用它作为输入,我对工作调用很好......

4

1 回答 1

5

显然,我需要添加到 sonar-project.properties 的只是这一行: sonar.gallio.runner=IsolatedProcess

于 2012-11-19T09:56:04.010 回答