RubyCritic 4.2 发布,生成 Ruby 代码质量报告

RubyCritic 集成 Reek,Flay 和 Flog 这 3 个代码静态分析的工具,对你的Ruby代码进行静态分析并生成代码质量报告。4.2 版本已发布,此版本支持 SimpleCov,主要内容如下:

在 RubyCritic 的 HTML 报告中 pull 请求添加了一个新的部分(称为 Coverage),如果 RubyCritic 在 Ruby 项目中找到 .resultset.json,则可生成 Coverage。它假定所有代码覆盖结果都合并在该文件中。

.resultset.json 是 SimpleCov 每次在运行测试套件之前加载它时生成的文件。RubyCritic::Analyser::Coverage 使用 analysed_modules 列表,它将尝试查找该特定文件的 coverage 数据:

# RubyCritic::Analyser::Coverage
def find_coverage_percentage(analysed_module)
  source_file = find_source_file(analysed_module)

  return 0 unless source_file

  source_file.covered_percent
end

def find_source_file(analysed_module)
  return unless @result

  needle = File.join(SimpleCov.root, analysed_module.path)

  @result.source_files.detect { |file| file.filename == needle }
end

基于模块的 coverage 范围,计算它的“等级”。此版本它只在文件级别有效,覆盖部分将对模块进行排序,从覆盖最少的模块到覆盖最多的模块。

 RubyCritic::AnalysedModule
def coverage_rating
  @coverage_rating ||= Rating.from_cost(100 - coverage)
end

限制:目前还不支持并行化。如果你在 Circle CI 或其他支持并行化的 CI 工具中运行测试,则需要手动将所有结果合并到一个大的 .resultset.json 中,然后可以运行 rubyReview 来生成 HTML 报告。

发布公告:

https://www.fastruby.io/blog/code-quality/code-coverage/rubycritic-4-2-0-simplecov-support.html

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/110966/rubycritic-4-2-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。