Ruby on Rails覆盖率工具,显示什么不被覆盖

Ruby on Rails覆盖率工具,显示什么不被覆盖

问题描述:

我正在开发一个使用rails的应用程序。自从我们开始使用rspec来测试我们的应用程序。我们使用simplecov作为工具来展示我们的测试覆盖率。Ruby on Rails覆盖率工具,显示什么不被覆盖

但simplecov只显示文件内的覆盖率的百分比,我的问题是,如果有一个工具,显示哪一行代码没有被覆盖?

如果您点击文件名,simplecov会显示覆盖的行(绿色)和未覆盖的行(红色)。 enter image description here

我们在我的工作场所使用:https://codecov.io/#features

Codecov是用来帮助开发人员确定哪些行代码是由他们的测试执行。有三个主要术语用于表示测试结果:命中,部分和未命中。

54%的值来自命中/(命中+偏+漏)=覆盖的计算。

  1. 命中是由您的 测试完全执行的一行(aka语句)。
  2. 部分是一个语句(通常是一个分支),它不是完全执行的 。

示例如果为真:...将始终是部分匹配,因为该分支从未被跳过,因为true始终为真。

  1. miss是未被测试执行的语句。

简而言之,54%的成绩表示“我的一半代码已经过测试”。使用Codecov调查未经测试的代码中的方法和语句,以帮助指导您在何处编写下一个测试并增加覆盖范围。