[英]SimpleCov :: Periodic Coverage Report
我有一個要求,我需要覆蓋到目前為止。 如果我停止服務器,則會生成報告,並且到目前為止,我的確獲得了覆蓋范圍。 但是,如果我再次啟動服務器,我以前的覆蓋范圍結果將丟失,並且只有在服務器重新啟動后才能獲得覆蓋范圍。
有沒有辦法讓我定期檢查覆蓋率%-而無需停止服務器?
如果我嘗試在不啟動服務器的情況下嘗試生成報告,則通過在Rails控制台(SimpleCov.result.format!)中使用以下命令,不會得到任何coverage編號。
以下是我在config / boot.rb中的配置:
require 'simplecov'
SimpleCov.start 'rails' do
add_filter "/vendor/"
end
請分享您的想法謝謝拉米亞
這是我的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
入門。 在Rails加載代碼之后 ,您必須在boot.rb
文件中包含與SimpleCov
相關的代碼。 錯了 將所有代碼提升到頂部和SimpleCov.result.format!
方法將在控制台內部工作。
但是,在boot.rb
包含任何額外的代碼通常是一個壞主意。 通常,僅在測試環境中才需要覆蓋報告(當提交代碼並且像Travis這樣的連續集成服務器運行完整的測試套件並生成覆蓋報告時)。 因此,文檔涉及這種設置樣式,其中與SimpleCov相關的所有內容均在test
環境中運行。 “ Getting Started
部分的第一個主題提到,您需要在test_helper
文件(如果使用spec_helper.rb
話,為spec_helper.rb
的開頭具有SimpleCov.start
行,因為那是加載Rails環境的文件。 這意味着您最終將在加載實際的應用程序代碼之前加載SimpleCov及其配置,並獲得正確的輸出。
require 'simplecov'
SimpleCov.start do
coverage_dir "custom-coverage_"+Time.now.strftime("%m_%d_%Y").to_s
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.