1

これまでのところ、カバレッジを取得する必要があるという要件があります。サーバーを停止すると、レポートが生成され、これまでのところカバレッジが得られます。しかし、サーバーを再起動すると、以前のカバレッジ結果が失われ、サーバーの再起動後にのみカバレッジを取得できます。

サーバーを停止せずに、カバレッジ % を定期的にチェックし続ける方法はありますか?

Rails コンソール (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'])
4

2 に答える 2

0
require 'simplecov'
SimpleCov.start do
    coverage_dir  "custom-coverage_"+Time.now.strftime("%m_%d_%Y").to_s
end
于 2018-09-06T11:16:56.347 に答える
0

SimpleCovが正しく動作するための前提条件は、次のドキュメントに記載されています: Getting Started with SimpleCov. Rails がコードをロードした後、ファイルSimpleCov内に関連するコードが含まれている必要があります。これは間違っています。そのすべてのコードを一番上に昇格させると、メソッドはコンソール内で機能します。boot.rbSimpleCov.result.format!

ただし、通常、boot.rb. 通常、カバレッジ レポートはテスト環境でのみ必要です (コードがコミットされ、Travis のような継続的インテグレーション サーバーが完全なテスト スイートを実行してカバレッジ レポートを生成する場合)。したがって、ドキュメントでは、SimpleCov に関連するすべてがtest環境で実行されるこのスタイルのセットアップを参照しています。このセクションの最初のトピックでは、Rails 環境をロードするファイルであるため、(Rspec を使用している場合)ファイルの先頭に行Getting Startedが必要であると述べています。つまり、実際のアプリケーション コードをロードする前に SimpleCov とその構成をロードすることになり、正しい出力が得られます。SimpleCov.starttest_helperspec_helper.rb

于 2014-02-06T08:10:31.807 に答える