问题标签 [simplecov]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
205 浏览

ruby-on-rails - 为什么在 rspec 测试期间,'end' & 'else' 语句不计入代码覆盖率?

我正在使用 simplecov gem 来查看测试覆盖率。在下图中,我可以看到两个语句else并且end是白色的。
这些行不计入测试覆盖率吗?如果是,可以做些什么来包括这些陈述? SimpleCov 代码覆盖率图像

0 投票
2 回答
283 浏览

ruby - simplecov:提取覆盖率

我像这样运行 simplecov

相反,或者除了打印这个

如何告诉 ruby​​/simplecov 将数字 96.77 保存到环境变量或文件中。

0 投票
1 回答
78 浏览

ruby - 测试失败时跳过 simplecov 摘要

我有一个要求,Simplecov 应该打印这一行

生成的覆盖率报告...

仅当测试套件为绿色时。

这可能吗?

这是我的初始化程序

0 投票
1 回答
584 浏览

ruby-on-rails - SimpleCov 问题。部分文件未涵盖

当使用相同的测试成功覆盖 (100%) 其他文件时,SimpleCov 会忽略一些文件 (0%)。

我使用框架的测试工具(Rails 5.1.4)运行我的测试。

这是我的test_helper.rb文件。

这是SimpleCov成功覆盖 (100%) 的文件Connection.types,其中包含:

这是SimpleCov未能成功覆盖 (0%) 的文件Kpi.types

我没有看到这里的模式......你呢?

要么是 100 要么是 0%

0 投票
0 回答
204 浏览

ruby - SimpleCov 在合并结果时报告 100% 覆盖率

我有一个包含许多子项目的 ruby​​ 项目。每个子项目运行 simplecov,根项目文件夹运行 rakefile 以生成所有子项目的总覆盖率报告。问题是它显示了最后一次运行的正确覆盖率,而在此之前的所有其他覆盖率都显示为 100%。有谁知道如何解决这一问题?

子项目覆盖(/root/plugin1/tests/plugin/test.rb):

在根 rakefile (/root/) 中:

它在根目录 (/root/coverage) 中创建一个覆盖文件夹。我从以下内容开始:https ://github.com/colszowka/simplecov/issues/147

0 投票
1 回答
178 浏览

ruby-on-rails - 查找 rails 项目的代码覆盖率

问题陈述:查找 rails 项目的代码覆盖率。我们正在使用一个单独的测试框架存储库,它遵循 RSpec-Capybara 结构。是否有任何工具/宝石可以找到测试在开发存储库之外的覆盖范围?

此外,我们已经使用 'simplecov' gem 来查找单元测试的覆盖率,那么它可以用于开发和测试 repo 不同的情况吗?如果是,那么如何?

0 投票
3 回答
2852 浏览

ruby-on-rails - 使用 simplecov 的 Ruby on Rails 测试覆盖率


我想分析我们代码的测试覆盖率,因此安装了 simplecov gem。

我们的测试环境有 2 个独立的项目:REST API 测试(Java+Rest-Assured)和 Web UI 测试(Java-Selenium)。
如您所见,我们在 rails 应用程序中没有单元测试,我们正在使用外部项目进行测试。

我按照教程中的描述配置了 simplecov gem,并将其放在 rails 脚本中:

加载应用程序时,我看到了我打印的字符串。

我运行了两个自动化测试项目,在 rails 日志中看到了它们的打印输出,但是我没有看到任何控制器/模型的覆盖,我只看到一些 gems 和 rails 的初始化文件的一小部分。

我在网上搜索,并尝试将代码短语放在 boot.rb 甚至 puma.rb 中,它返回了相同的结果。



有任何想法吗?

编辑

所有评论都没有帮助,但我发现了一些非常有趣的东西,在所有情况下,我只看到标记为已测试的方法的名称,而不是内容(在控制器中)。
我试图将 simplecov 起始短语放在 bin/rails、puma.rb、config.ru、environment.rb 中,所有这些都没有给出所需的代码覆盖结果。

0 投票
1 回答
342 浏览

ruby-on-rails - 如何组合 simplecov 覆盖/index.html 文件

我正在使用simplecovrspec 覆盖。当我RAILS_ENV=test rspec在本地运行时,它会生成一个coverage/index.html文件,但在 CircleCI 上,我们使用 2 个容器进行 rspec 覆盖。2 个单独的容器生成两个单独的coverage/index.html文件。即针对每个容器一个。我想要一个coverage/index.html关于 Circle CI 的单曲。有没有办法合并或合并两个索引文件?或针对多个容器生成单个文件?

在此处输入图像描述

0 投票
2 回答
764 浏览

ruby - 没有所有要求和方法定义的 Ruby 代码覆盖率?

当使用超级简单的simplecov设置时

对于我正在运行的单个测试,我得到了大量“覆盖”的文件和代码,这些文件和代码根本没有真正“执行”(在任何意义上,我在查看特定测试的代码覆盖率时会关心)。

例如,所有在生成的覆盖率报告上加载的文件的所有requiremoduleclass、等都标记为绿色。我不关心那些,如果这些文件中没有执行“实际代码”,如果这些文件报告 0% 覆盖率,我会很高兴。defattr_accessor

end,rescue例如,评论被认为是不相关的,并且在任何文件中都没有标记为红色绿色。我希望上面列出的方法有类似的行为。

有没有办法获得真正只包括(和测量)我关心的正在执行的实际代码行的代码覆盖率?


第一个答案后更新:不幸的是,通过例如将所有其他代码标记为“不相关”# :nocov:不是一个选项,因为这会影响每个单独测试运行的数千个文件。

0 投票
1 回答
1650 浏览

testing - SonarQube 不显示 Ruby on Rails 项目的测试代码覆盖率

我有一个 Ruby on Rails 项目,我想在 SonarQube 中显示测试覆盖率。该项目是使用 Jenkins 构建的,它将结果发送到 SonarQube。单元测试使用 rspec 运行,代码覆盖率使用 SimpleCov 计算。SonarQube 要求以 json 格式生成代码覆盖率报告,因此我在以下代码中使用了simplecov-jsonrails_helper.rb

代码覆盖率报告成功生成并保存到这样的coverage文件夹中(来自 Jenkins 控制台输出):

sonar-project.properties这样配置(阅读覆盖率报告):

Jenkins 构建项目,运行测试,生成覆盖率报告,将结果发送到 SonarQube。但由于某种原因,SonarQube 总是显示 0% 的覆盖率。

SonarQube 覆盖率报告

运行sonar-scanner -X(调试模式)显示此错误(Jenkins 控制台日志):

看起来 SonarQube 在阅读 json 覆盖率报告时遇到了问题——它的格式不符合预期。