C# 是否可以导入OpenCover/导致SonarQube?
我目前正在改变我们的声纳设置,因为C#生态系统3不再支持Gallio。我已经通过使用OpenCover和以下命令成功导入了单元测试覆盖率C# 是否可以导入OpenCover/导致SonarQube?,c#,unit-testing,sonarqube,opencover,C#,Unit Testing,Sonarqube,Opencover,我目前正在改变我们的声纳设置,因为C#生态系统3不再支持Gallio。我已经通过使用OpenCover和以下命令成功导入了单元测试覆盖率 "C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -register -target:"c:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console-x86.exe" -targetargs:"d:\Sonar\MyTest.dll /noshadow
"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -register -target:"c:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console-x86.exe" -targetargs:"d:\Sonar\MyTest.dll /noshadow /framework=net-4.0" -output:"d:\Deploy\Sonar\Coverage.xml" "-filter:+[*]* -[*]Test"
使用这个命令,我只得到单元测试的覆盖率,但我也希望看到失败和成功测试的数量。我想我可以通过/result选项实现这一点,如
"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -register -target:"c:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console-x86.exe" -targetargs:"d:\Deploy\Sonar\MyTest.dll /noshadow /framework=net-4.0 /result=tests.xml"
此命令返回一个xml,其中包含有关运行的测试的信息,但是否有任何方法将此xml导入SonarQube?或者这不受支持吗
目前,我正在使用以下命令导入Coverage.xml文件:
sonar.cs.opencover.reportsPaths=D:/Deploy/Sonar/Coverage.xml
是否有类似的属性来导入tests.xml文件和测试结果?从的文档中,看起来您只能导入MSTest格式的单元测试执行报告。由于以下站点,我能够使用XSLT转换将OpenCover测试结果的输出转换为.trx格式。转换之后,我只使用了默认的导入功能
sonar.cs.vstest.reportsPaths=MyTestRestultFile.trx
OpenCover现在得到SonarQube的正式支持,请参阅。您可以传递使用命令行参数生成的XML报告OpenCover的位置
/d:sonar.cs.opencover.reportsPaths="%path%\%report_file%"
其中,%path%
是生成报告文件的文件夹,%report\u file%
是OpenCover XML报告的文件名