【问题标题】:SonarQube 6.7 .net and javascript in one projectSonarQube 6.7 .net 和 javascript 在一个项目中
【发布时间】:2018-06-15 11:59:49
【问题描述】:

我的问题是关于 .net Web 应用程序有一个带有 javascript 和 JEST 单元测试的 UI 项目的场景。有 1 个能准确显示 .cs 和 .js 文件的代码覆盖率、VStest 和 Jest 单元测试的 sonarQube 项目是否正常?

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

谢谢

【问题讨论】:

  • 如果您使用 MSBuild,会缺少什么?您是否按照this 文档页面中描述的所有步骤进行操作?
  • 我正在使用 Team City 通过调用 msbuild 运行器的 powershell 脚本运行构建。我似乎无法通过与 .net vstests 结合的开玩笑覆盖率获得开玩笑的结果,我一直看到覆盖率的百分比,但单元测试为 0,或者我会看到单元测试,但随后我选择了它并且页面是空白的。
  • 但要回答你的问题,是的,我将步骤按正确的顺序排列
  • @MattB.您是否设法让它同时适用于 C# 和 JavaScript?如果是的话,你能分享一下你是怎么做到的吗?我也在尝试做同样的事情,但是它说无法解析 js 文件的路径

标签: sonarqube jestjs sonar-runner sonarqube-msbuild-runner


【解决方案1】:

根据我的经验,如果您将非 C# 文件包含在项目文件中,分析将提取它们,如下所示:<Content Include="src\**\*.js" />

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

【讨论】:

  • 是的,我已经这样做了,并且文件确实出现了,但没有发生的是开玩笑的覆盖率 + .trx + coveragexml 全部融合在一起。
【解决方案2】:

您可以在一个 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-sonarqube-unit-reporter 模块的 karma (jasmine) 来获取 lcov 和 xml 文件

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

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

【讨论】:

    猜你喜欢
    • 2018-05-29
    • 2018-07-12
    • 2022-12-09
    • 2018-05-18
    • 1970-01-01
    • 2017-10-24
    • 2018-12-05
    • 2018-07-29
    • 2018-05-21
    相关资源
    最近更新 更多