我将SimpleCov集成到我的Ruby项目(简单的Ruby Gem项目,无框架)中,该项目使用MiniTest进行测试。
这里是test_helper.rb
:
require 'simplecov'
SimpleCov.start
require 'minitest/autorun'
我所有的测试文件都有require 'test_helper.rb'
。
运行所有测试(从RubyMine或与bundle exec rake
一起运行)均有效,并且创建了HTML报告。
但是,它涵盖了...我的一个测试课程?我希望看到测试调用的所有类的覆盖率报告(它们在标准/lib
文件夹下)。
这是慷慨的报告:
https://user-images.githubusercontent.com/6305156/80513538-df68d080-8987-11ea-9858-43a3a2673e31.png
到项目的链接:https://github.com/ruby-ee/ruby-stream-api/tree/10这是一个简单的,刚刚起步的Ruby Gem。
非常感谢您的帮助。谢谢!
我设法解决了。 SimpleCov文档指出,必须先提供SimpleCov,并且必须先发出SimpleCov.start
,然后才需要任何应用程序代码!
我在require
中有一个*.gemfile
指令,因此我必须添加
require 'simplecov'
SimpleCov.start do # ommit test classes from the report
add_filter 'test'
end
就在这里,而不是test_helper.rb
。