10

さまざまな理由から、ガードからファイルをリロードするたびにコード カバレッジを実行するのはかなりの負担です。ただし、条件付きで SimpleCov がスペック ヘルパーから起動しないようにする方法はないようです。

ガードによって実行されたときにSimpleCovを無効にする方法はありrake specますか?

4

3 に答える 3

15

私は最終的にこの解決策を見つけました:

  1. に環境変数を追加しますGuardfile

    guard :rspec, env: { 'NO_COVERAGE' => 'true' }

  2. 仕様ヘルパーから確認します。

    SimpleCov.start :rails unless ENV["NO_COVERAGE"]

于 2013-07-18T03:59:46.460 に答える
4

仕様ヘルパーで:

unless ARGV.any? {|e| e =~ /guard-rspec/ }
  SimpleCov.start
end

ここでの考え方は、guard-rspec が特別な guard-rspec フォーマッターで rspec を呼び出すというものです。与えられたコマンド ラインでそれを探すと、それが Guard から呼び出されたというヒントが得られるので、SimpleCov がある場合はスキップできます。

于 2013-07-18T03:27:50.137 に答える
0

VsCode ではNO_COVERAGE=true bin/rspec、拡張子にRuby Spec Command: を使用します。Rails Run Spec

コマンドラインでも機能します:NO_COVERAGE=true bin/rspec spec/*_spec.rbまたはNO_COVERAGE=true bundle exec rspec spec/*_spec.rb

于 2020-10-02T13:06:29.973 に答える