SimpleCov ::定期覆盖报告



我有一个要求,我需要在到目前为止获得覆盖范围。如果我停止服务器,则报告将生成,并且到目前为止我确实得到了覆盖范围。但是,如果我再次启动服务器,我以前的覆盖范围结果将丢失,并且只能在服务器重新启动后获得覆盖范围。

我有没有办法继续定期检查覆盖范围% - 而无需停止服务器?

如果我尝试在不启动服务器的情况下生成报告,则使用以下命令,在Rails Console(SimpleCov.Result.Format!),我没有任何包含的编号。

以下是我的config/boot.rb中的配置:

require 'simplecov'
SimpleCov.start 'rails' do
add_filter "/vendor/"
end

请分享您的想法谢谢ramya

这是我的boot.rb的内容:

require 'simplecov'
# # create coverage directory if it doesn't exist already.
 Dir.mkdir("coverage") unless Dir.exist?("coverage")
 SimpleCov.start 'rails' do
        SimpleCov.use_merging(true)
   add_filter "/vendor/"
   SimpleCov.merge_timeout 30
 end

require 'rubygems'
# Set up gems listed in the Gemfile.
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])

SimpleCov正常工作的前提条件在此处记录:开始使用SimpleCov。在之后,您必须在 boot.rb file 中使用SimpleCov相关的代码。这是错误的。将所有代码推广到顶部,SimpleCov.result.format!方法将在控制台内部工作。

但是,在boot.rb中拥有任何额外的代码通常是一个坏主意。通常,只有在测试环境中需要覆盖报告(当代码合作并且像Travis这样的连续集成服务器运行完整的测试套件并生成覆盖范围报告时)。因此,文档是指与SimpleCov在test环境中运行的所有内容。Getting Started节中的第一个主题提到您需要在test_helper文件的开头(如果使用RSPEC)将SimpleCov.start行(spec_helper.rb)的开始,因为那是加载导轨环境的文件;这意味着您最终加载了SimpleCov,并且在加载实际的应用程序代码之前进行了配置,并且您将获得正确的输出。

require 'simplecov'
SimpleCov.start do
    coverage_dir  "custom-coverage_"+Time.now.strftime("%m_%d_%Y").to_s
end

相关内容

  • 没有找到相关文章

最新更新