使用 rspec 的 Sonarqube 未显示单元测试的计数

Posted

技术标签:

【中文标题】使用 rspec 的 Sonarqube 未显示单元测试的计数【英文标题】:Sonarcube using rspec not showing count of Unit Tests 【发布时间】:2020-10-13 09:07:10 【问题描述】:

我正在使用带有 RoR 和 RSpec 的 Sonarqube 作为测试工具,成功获得了覆盖率,但没有获得单元测试的计数,如下图所示:

请帮忙?????????


配置:

spec_helper.rb

if Rails.env.development? || Rails.env.test?
  require 'simplecov'
  require 'simplecov-json'
  SimpleCov.formatter = SimpleCov::Formatter::JSONFormatter
  SimpleCov.start
end

声纳项目.properties

sonar.projectKey=myapp
sonar.sources=.
sonar.exclusions=**/vendor/**,**/coverage/**,**/assets/**
sonar.tests=app-code/spec
sonar.test.inclusions=**/*_spec.rb
sonar.test.exclusions=**/vendor/**
sonar.ruby.coverage.reportPaths=app-code/coverage/.resultset.json
sonar.ruby.coverage.framework=RSpec

宝石文件

  gem 'simplecov', '>= 0.17', '< 0.18'
  gem 'simplecov-json', '<= 0.2'

【问题讨论】:

你找到方法了吗?很遗憾,我可以看到很多人对 Sonar/Ruby 有问题而没有人关心 @Chocorean nope 【参考方案1】:

simplecov 仅用于覆盖率指标。不幸的是,没有可用于创建单元测试计数报告的原生 Ruby 插件,但您可以将sonar.testExecutionReportPaths 参数与通用报告一起使用。我已经使用了this formater。

sonar.testExecutionReportPaths=./path-to-your/report.xml 

【讨论】:

以上是关于使用 rspec 的 Sonarqube 未显示单元测试的计数的主要内容,如果未能解决你的问题,请参考以下文章

Sonarqube 运行后未显示代码覆盖率

用于 Typescript 的 Sonarqube 上未显示代码覆盖率

Karma 代码覆盖率未在 Sonarqube 中显示

运行 rspec 时,它显示未实现(allow_any_instance_of)

长期分支的 Sonarqube 分支结果未按预期显示

Sonarqube 未显示 Android Lint 的结果