首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleCov ::定期覆盖报告

SimpleCov ::定期覆盖报告
EN

Stack Overflow用户
提问于 2014-02-05 15:01:47
回答 2查看 647关注 0票数 1

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

有没有办法让我在不停止服务器的情况下定期检查覆盖率?

如果我试图在不启动服务器的情况下生成报告,在rails控制台(SimpleCov.result.format!)中使用以下命令,我得不到任何覆盖率数字。

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

代码语言:javascript
复制
require 'simplecov'
SimpleCov.start 'rails' do
add_filter "/vendor/"
end

请分享你的想法,谢谢拉米亚

这是我的boot.rb的内容:

代码语言:javascript
复制
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'])
EN

回答 2

Stack Overflow用户

发布于 2014-02-06 16:10:32

这里记录了SimpleCov正常工作的前提条件:SimpleCov入门。在Rails加载代码之后,您必须在boot.rb文件中包含与SimpleCov相关的代码。这是错误的。将所有代码提升到顶层,SimpleCov.result.format!方法将在控制台中工作。

但是,在boot.rb中包含任何额外的代码通常不是一个好主意。通常,只有在测试环境中才需要覆盖率报告(当代码提交并且像Travis这样的持续集成服务器运行完整的测试套件并生成覆盖率报告时)。因此,文档指的是这种设置风格,其中与SimpleCov相关的所有内容都在test环境中运行。Getting Started部分中的第一个主题提到,您需要在test_helper文件(如果使用Rspec,则为spec_helper.rb)的开头包含SimpleCov.start行,因为它是加载Rails环境的文件;这意味着在加载实际的应用程序代码之前,您最终需要加载SimpleCov及其配置,并获得正确的输出。

票数 0
EN

Stack Overflow用户

发布于 2018-09-06 19:16:56

代码语言:javascript
复制
require 'simplecov'
SimpleCov.start do
    coverage_dir  "custom-coverage_"+Time.now.strftime("%m_%d_%Y").to_s
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21570626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档