【问题标题】:Using SimpleCov in a Ruby Project在 Ruby 项目中使用 SimpleCov
【发布时间】:2013-05-13 06:27:53
【问题描述】:

我正在尝试在 Ruby 项目中使用 simplecov gem。然而我失败得很惨。这是我到目前为止所做的。

我的项目结构是: 项目文件夹 - 库 - 测试

我在 lib 中的 test 和源代码中有我的测试。我在 test 目录中创建了一个 test_helper.rb 并添加了以下内容。

require 'simplecov'
SimpleCov.start

然后我将 `require 'test/test_helper.rb' 放在每个测试文件中。发生的事情是它有时会创建一些报告,有时不会。当它发生时,它是不一致的。

我找到的所有教程都是针对 Rails 的,所以我再次求助于 StackOverflow,为我指明方向。

【问题讨论】:

  • 你有这个高于任何其他要求吗?您还运行所有测试以获得您正在寻找的报告?如果您运行单个测试,它只会跟踪该测试涵盖的那些行,所以这不足为奇。
  • 好的,我认为第一部分很重要。我一直在要求的底部。我终于为所有测试创建了一个测试套件,以便一起运行并且它有效。谢谢。如果您可以将其写为答案,我会接受。

标签: ruby unit-testing code-coverage


【解决方案1】:

Rcov/SimpleCov 只会报告运行测试的覆盖率。

对于完整的覆盖率报告,您必须确保完整的测试套件作为最后一个测试运行,以构建完整的覆盖率报告。

您还需要确保它是 test_helper.rb 文件中的第一个要求。

来自documentation

注意:如果 SimpleCov 在您的应用程序代码已经完成之后启动 加载(通过要求),它将无法跟踪您的文件及其 覆盖! SimpleCov.start 必须在您的任何 需要申请代码!

【讨论】:

  • 我使用的是 SimpleCov 但基本上逻辑是一样的。感谢您的回答
猜你喜欢
  • 2012-10-16
  • 2019-01-19
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
相关资源
最近更新 更多