【问题标题】:Ruby SimpleCov 0.0 LOC with stand alone .rb code带有独立 .rb 代码的 Ruby SimpleCov 0.0 LOC
【发布时间】:2019-12-06 19:09:57
【问题描述】:

我正在尝试使用 SimpleCov 来收集代码覆盖率信息,但我似乎无法理解它是如何工作的。它总是给我 0.0% 的 LOC。我需要做些什么来让它发挥作用吗?

require 'simplecov'
SimpleCov.start
SimpleCov.command_name 'Unit Tests'

def foo
  puts '12345'
end

foo

我看到以下输出:

$ ruby​​ mytest.rb

12345

为单元测试生成的覆​​盖率报告到 /private/tmp/simpletest/coverage。 0.0 / 0.0 LOC (100.0%) 覆盖。

我必须在rspec或一些特殊环境下使用它吗?我不能只为任意代码启用代码覆盖吗?

【问题讨论】:

  • 您的问题中只有一种方法,根本没有测试。为什么您希望 Simplecov 不报告 0% 的测试覆盖率?

标签: ruby code-coverage simplecov


【解决方案1】:

SimpleCov 将原始源文件本身从覆盖率报告中过滤掉。要使其像这样独立工作,您需要将测试代码放入单独的文件中:

require 'simplecov'
SimpleCov.start
SimpleCov.command_name 'Unit Tests'

require_relative 'my_code'
foo

然后在my_code.rb:

def foo
  puts '12345'
end

现在您将得到一份正确的报告。

【讨论】:

    猜你喜欢
    • 2020-08-12
    • 1970-01-01
    • 2012-08-18
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2011-06-28
    相关资源
    最近更新 更多