SonarQube 6.7.net和javascript在一个项目中

SonarQube 6.7.net和javascript在一个项目中,sonarqube,jestjs,sonar-runner,sonarqube-msbuild-runner,Sonarqube,Jestjs,Sonar Runner,Sonarqube Msbuild Runner,我的问题是关于.NETWeb应用程序有一个带有javascript和JEST单元测试的UI项目的场景。有一个sonarQube项目可以准确地显示.cs和.js文件的代码覆盖率、VStests和Jest单元测试,这正常吗 我试过使用msbuild runner和声纳扫描仪,但我无法让它在1下工作 谢谢根据我的经验,如果您将非C文件包括在项目文件中,分析将拾取它们,如下所示: 对于测试覆盖率,我还没有尝试过,但它应该可以在Begin命令行上定义JavaScript覆盖率相关的属性,如:/d:sona

我的问题是关于.NETWeb应用程序有一个带有javascript和JEST单元测试的UI项目的场景。有一个sonarQube项目可以准确地显示.cs和.js文件的代码覆盖率、VStests和Jest单元测试,这正常吗

我试过使用msbuild runner和声纳扫描仪,但我无法让它在1下工作


谢谢

根据我的经验,如果您将非C文件包括在项目文件中,分析将拾取它们,如下所示:


对于测试覆盖率,我还没有尝试过,但它应该可以在Begin命令行上定义JavaScript覆盖率相关的属性,如:/d:sonar.property.name=value

您可以在一个SonarQube项目中组合JavaScript和.Net单元测试和覆盖率。 两者的覆盖率都会显示出来,但单元测试计数只来自javascript,但仍然不知道如何解决它

若您从其他SonarQube属性中删除javascript单元测试xml文件行,那个么您将获得.Net的单元测试计数,而无需进行任何其他更改

对于.Net,我们使用opencover获取.trx文件和覆盖率xml:

"path/to/OpenCover.Console.exe" -register:user -target:"%MSTestExe%" -targetargs:"/resultsfile:Tests.trx /noisolation /testcontainer:%~dp0Tests\bin\%Configuration%\Tests.dll" -output:"%~dp0results.xml"
对于javascript,使用karma jasmine和karma sonarqube unit reporter模块获取lcov和xml文件

与MSBuild集成的SonarQube准备分析配置步骤的其他属性:

sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)\ProjectName\results.xml
sonar.cs.vstest.reportsPaths=$(Build.SourcesDirectory)\ProjectName\Tests.trx
sonar.genericcoverage.unitTestReportPaths=$(Build.SourcesDirectory)\ProjectName\tests\reports\ut_report.xml
sonar.javascript.lcov.reportPath=$(Build.SourcesDirectory)\ProjectName\tests\reports\coverage\lcov.info

如果使用MSBuild,会缺少什么?您是否遵循了文档页面中描述的所有步骤?我正在使用Team City运行生成,并使用调用msbuild runner的powershell脚本运行生成。我似乎无法将jest覆盖率与.net vstests结合起来获得jest结果,我一直看到覆盖率的%,但是0个单元测试,或者我将看到单元测试,但是我选择了它,页面为空。但是要回答您的问题,是的,我把步骤放在正确的位置order@MattB.Did你能让它同时适用于C和JavaScript吗?如果是的话,你能分享一下你是如何做到的吗?我也在尝试做同样的事情,但是它说无法解析js文件的路径是的,我已经这样做了,并且文件确实出现了,没有发生的是jest coverage+the.trx+coverage XML都一起出现了。