问题标签 [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 投票
0 回答
29 浏览

ruby-on-rails - CI 上 Simplecov 的动态 last_run

有没有办法仅在读取last_run_path时更改覆盖路径,这样我就不必给我们的 CI 一个写访问令牌来提交这些?

我想动态生成last_run文件作为我们 CI 工作流程的一部分,作为部署过程中的一个步骤(意味着仅当被测试的分支是主分支时)而不授予对 Semaphore 的写访问权限(因此它可以每次提交文件)。

last_run我可以轻松地将文件推送到 Semaphore 上的项目工件(仅当它是主分支时覆盖),这似乎是合理的。

在检查最大覆盖率下降的差异时,我对阅读上次运行感到更加困惑。

我看到LastRun使用coverage_path获取文件。我知道这coverage_path可配置的,但是当我只想“在别处寻找”last_run文件时,这是一个全有或全无的事情 - 在标准之外coverage_path,而不是last_run在项目的工件中的文件。

simplecov (0.21.2)

ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin19]

rails (~> 5.1)

0 投票
1 回答
52 浏览

ruby - Simplecov 没有在 gitlab 中以正确的格式生成报告

我正在使用 simplecov 在 gitlab 中为我的 ruby​​ 项目生成测试报告。报告已成功生成,但输出格式不正确。在我的本地主机中,它以正确的格式生成输出。知道为什么会这样吗?这是我的 gitlab-ci.yml 步骤的样子:

在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
39 浏览

ruby-on-rails - 在基于 selenium 的项目中使用 simplecov 需要一些帮助

我们有一个使用 Ruby on Rails (ruby-2.1.5) 实现的应用程序。目前我们使用 simplecov 来衡量单元测试覆盖率(RSpec - 3.2.1)。我们还有一个单独的 UI 自动化项目来验证这个应用程序的工作流程(这是一个基于 selenium 的 maven 项目)现在我们想看看这个应用程序有多少被使用 simplecov 的 UI 自动化项目覆盖。

  1. 我的第一个问题是因为 selenium 项目在 java env 上运行:并且该应用程序是基于 Ruby 的——我们可以实现 simplecov 来测量 UI 覆盖率吗?

  2. 另外请帮助我了解如何为这个 Maven 项目配置 simplecov。根据我的理解,为了在 Maven 项目中使用 simplecov,我们可能必须将其作为依赖项导入到 pom.xml 文件中。

对此/任何参考文章的任何帮助表示赞赏。先感谢您

0 投票
0 回答
82 浏览

ruby-on-rails - 获取NameError:类`#的未定义方法`start''

在文件顶部的 spec_helper.rb 中添加了以下配置。

我正在尝试使用 SimpleCov 生成规格覆盖率报告。也安装了 simplecov gem。

Rails 版本是 5。仍然无法生成覆盖文件夹。

0 投票
0 回答
384 浏览

ruby-on-rails - SonarQube 无法读取 Ruby on Rails 项目的覆盖率报告文件

我的项目正在生成 coverage/.resultset.json 但覆盖范围未显示在 sonar 中。我正在使用 simplecov 0.21.2 并出现以下错误:

simplecov 文件具有以下设置:

声纳-project.properties:

0 投票
1 回答
42 浏览

ruby-on-rails - 在哪里可以找到支持 ruby​​ 1.8 的 simplecov 的 gem 包

我有一个相当老的 ruby​​ 1.8.7 + Rails 2.3.8 项目,我仍然需要支持。在项目中有很多我使用的单元测试。

而且,我想要一份多年前使用 SimpleCov 的代码覆盖率报告。

但是我再也找不到 gem 文件了。我能找到的每一个宝石都只适用于 Ruby 1.9+....

你能帮助我吗?

0 投票
0 回答
28 浏览

ruby-on-rails - 如何仅获取 simplecov 中指定测试的代码覆盖率报告?

我将我的 Rails 6 应用程序命名为三个部分,我只想为特定的命名空间运行代码覆盖,例如

SimpleCov 目前显示了整个项目的覆盖范围。我只想查看指定测试的覆盖率报告。

我没有找到任何(直接)文档。最接近的是 simplecov 的个人资料,但它

  • 需要配置文件名称(硬编码或环境变量)
  • 只接受一份个人资料
  • 需要配置的配置文件
  • 与指定测试无关

如何仅针对指定测试获得代码覆盖率报告?

  • simplecov 有没有现有的方法?
  • 是否有任何其他替代 simplecov 来实现我想要的?

更新:

simplecov 有这些直接相关但未解决的问题

更新 2:

目前的simplecov

0 投票
0 回答
34 浏览

ruby - 什么构成了使用 simplecov gem 进行 Ruby 覆盖率测量

在 Mac OSX 上运行simplecov时,生成的覆盖范围几乎没有意义。

如果运行以下测试:

然而,当运行rails test test/models图形输出时显示test/models/channel_test.rb

更新 我认为可能是所选的测试语法可能是一个缺陷 - 我添加了一个补充测试,结果仍然报告
给模型 3 relevant lines. 0 lines covered and 3 lines missed.

因此测试通过了,但覆盖结果令人困惑:

a)作为一个独立的,覆盖计数是0/0,而测试通过

b) 什么构成一个miss或相反coverage的(?)测试?

test_helper.rb

更新 2 根据@BroiSatse 的建议,注释掉parallelize(workers: :number_of_processors) 可以衡量覆盖率。

0 投票
1 回答
23 浏览

ruby-on-rails - Minitest 挂在 stylesheet_link_tag 上

Minitest 中为四个操作(索引、显示、新建、编辑)生成错误

应用程序布局的行调用

控制器测试套件有 13 次运行。9 次通过,但它们都处理非视图方法(更新、创建、销毁)。

在没有stylesheet_link_tag激活的情况下,加上或减去它的选项,测试是否通过。设置为<%#测试运行(并通过)的那一刻

奇怪的是,这些测试过去通过并且application.html.erb没有被修改。Turbolinks 不能被删除(如果有一个测试套件为此失败似乎很奇怪)。

唯一的变化是引入了覆盖率和 ruby​​critic 宝石。然而以两种不同的方式调用测试

导致相同的结果。
测试助手也切换了前两行以在没有覆盖的情况下进行测试

移除宝石

也产生相同的结果。

应该配置什么以便 minitest 知道如何处理 turbolink?

0 投票
0 回答
18 浏览

ruby-on-rails - 完全错过了 simplecov 和设计覆盖

使用 Devise 运行应用程序时,测试如下user_test.rb

为了 user.rb

并且通过,simplecov 似乎正在处理文件,因为注释掉的行具有白色背景,但带有代码的行都被遗漏并以红色突出显示。

作为一个相当大的类 UserClass 并不完全包括在这里。正在处理该文件,但缺少其相关行。删除代码块总是返回相同的行为 - 例如将类定义减少为:

该文件(显然)在结构上没有任何问题(它正常运行)。设计是一个假设点...

什么可能会产生这种行为simplecov