Ruby SimpleCov 0.0 LOC 与独立的 .rb 代码



我正在尝试使用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 将原始源文件本身从覆盖范围报告中过滤出来。要使其像这样独立工作,您需要将测试代码放入一个单独的文件中:

require 'simplecov'
SimpleCov.start
SimpleCov.command_name 'Unit Tests'
require_relative 'my_code'
foo

然后在my_code.rb

def foo
puts '12345'
end

现在您将获得一份适当的报告。

相关内容

  • 没有找到相关文章

最新更新