2

rufus スケジューラを使用して 1 分ごとに実行されるスケジュールされたタスクがあります。その実行に問題はありません。しかし、rspec を実行しようとすると、タスクがその一部として実行され、rspec が完了しません。仕様の一部として選択されないようにする方法

4

1 に答える 1

3

おそらく、スケジューラの初期化子のようなもの:

if Rails.env.production?
  # start scheduler and schedule stuff...
end

編集

Rspec の存在下でスケジューラーを実行することを避けたい場合は、次のことができます。

if !defined?(Rspec)
  # start scheduler and schedule stuff...
end

コード自体でテスト フレームワークについて言及するのは少し悲しいことです。おそらく、「スケジューラをテスト モードで実行するのではなく、次のようにします。

if !Rails.env.test?
  # start scheduler and schedule stuff...
end

スケジューラーが本番環境と開発環境 (またはテストではない環境) で実行されるようにします。

于 2013-06-19T14:28:16.443 に答える