我正在研究一个小宝石,并将simplecov包括在spec_helper.rb
两行:
require 'simplecov'
SimpleCov.start
当我运行rspec测试时,simplecov似乎正确启动但报告不是:
Finished in 0.00214 seconds
8 examples, 0 failures
Coverage report generated for /home/......
spec to /home/megas/Work/calc/coverage. 0 / 0 LOC (0.0%) covered.
可能是什么问题以及如何解决?感谢
答案 0 :(得分:19)
还要确保在文件的非常开头启用simplecov(a.k.a。SimpleCov.start
);特别是在您需要代码之前。
答案 1 :(得分:2)
我有同样的症状。我的问题是在我的测试文件中:
#spec/oneclass_spec.rb
require 'oneclass'
require 'spec_helper'
...Rest of the test file
我需要将require
的顺序更改为:
#spec/oneclass_spec.rb
require 'spec_helper'
require 'oneclass'
...Rest of the test file
希望这有助于某人,我疯了......
答案 2 :(得分:0)
以防上述两个答案都不起作用(如我的情况),一个用户在simplecov的github问题页面上建议这个,这对我有用。
在您需要simplecov后添加它 -
module SimpleCov::Configuration
def clean_filters
@filters = []
end
end
SimpleCov.configure do
clean_filters
load_adapter 'test_frameworks'
end
答案 3 :(得分:0)
如果以上其中一项无效。
在test.rb中验证:
config.eager_load = false
答案 4 :(得分:0)
就我而言,问题是春天 - 我必须使用以下内容创建config/spring.rb
:
if ENV['RAILS_ENV'] == 'test'
require 'simplecov'
SimpleCov.start
end
记录在案here。
答案 5 :(得分:0)
我正在从命令行运行脚本,我发现解决方案只是在脚本的末尾加上退出。卫生署!
或者,以下也适用
SimpleCov.at_exit do
SimpleCov.result.format!
end