私たちは必要なテストを書きましたが、非常に遅いです。そこで、我々はENV変数を設定するSolano以外のRSpecを除外するように設定しました。rakeタスクの中でRSpecを呼び出す方法は?
# spec_helper
unless ENV['RUN_ALL_TESTS'] == 'true'
config.filter_run_excluding :slow
end
動作しますが、私たちはその同じENV変数を設定して、スイートを実行することにより、局部的にすべてのテストを実行するために呼び出すことができますrakeタスクを記述しようとしています。私はRSpecを起動する方法を理解するのに苦労しています。これは私が今持っているものです:
# all_tests.rake
require 'rspec/core/rake_task'
desc 'Run all tests, even those usually excluded.'
task all_tests: :environment do
ENV['RUN_ALL_TESTS'] = 'true'
RSpec::Core::RakeTask.new(:spec)
end
実行すると、テストは実行されません。
私が見つけたもののほとんどは、テストの中でレーキタスクを起動したり、レーキタスクをテストしたり、Rakefileを設定したりするためのものです。 rspec-rails
を使用していますが、デフォルトのレーキタスクは既に設定されています。そのすくい統合により、RSpecのを実行するには
あなたは後になっているように聞こえます。http://stackoverflow.com/questions/577944/how-to-run-rake-tasks-from-within-rake-tasks –
これは間違いなく私が後になったようですが、 'Rake :: Task ['spec']。invoke'と' Rake :: Task ['default']。invoke'は何もしないので、まだ何かが欠けています。 –
'RUN_ALL_TESTS = true rake spec'を試しましたか? –