0

私の rspec テスト スイートでは、mocha ライブラリを使用してモック/スタブを作成し、ダブルをテストします。私の rspec スイートの例は、推奨されるようにランダムな順序で実行されます。何らかの理由で、いくつかの例がランダムに失敗するようになりました。私はすでに共有データベースの状態とグローバル変数を除外しました (正直に言うと、私の Rails アプリにはグローバル変数があります)。

別の論理的な容疑者 (おそらく) は、モッキング ライブラリです。rspec のドキュメントhereによると、rspecは各例の後にすべてのモックを削除します。これは、どのモック ライブラリでも機能するはずですよね?多分...

歴史的な理由から、私のテスト スイートは組み込みの rspec モックを使用せず、mocha ライブラリを使用します。

質問: rspec は、各例の後に mocha によって作成されたすべてのモック/スタブを消去しますか?

4

1 に答える 1

0

考えられる失敗のポイントの 1 つは、モックに mocha を使用することを Rspec に伝えていないことです。

# Where you do your Rspec config stuff
RSpec.configure do |config|
  config.mock_framework = :mocha
end

私の知る限り、あなたが言及したクリーンアップを行うには、それを行う必要があります。

ソース

于 2014-12-26T18:36:26.903 に答える