3

フラッシュ メッセージhttps://github.com/lucassus/mongo_browser/blob/master/app/assets/javascripts/app/services.js.coffee#L31を表示するための簡単なサービスがあり、e2e でテストしようとしています。仕様https://github.com/lucassus/mongo_browser/blob/master/spec/javascripts/e2e/databases_scenario.js.coffee#L66 $timeout サービスを使用して、3 秒後にフラッシュ メッセージを非表示にします。

タイムアウトがフラッシュするまで e2e シナリオ ランナーがブロックされ、フラッシュ メッセージが表示されたかどうかを確認できないことに気付きました。

e2e 仕様で $timeout を使用して機能をテストするには? 実際のアプリケーションにモック サービスを挿入せずに、この種の動作をテストすることは可能ですか?

4

3 に答える 3

1

sleep(seconds)$timeout コードが終了するまでテストを待機させるために使用できます。ドキュメントのこのページの API セクションを参照してください: http://docs.angularjs.org/guide/dev_guide.e2e-testing

また、$timeoutにはflush()役立つメソッドがあります。テストに $timeout を挿入し、アサーションの前に flush を呼び出すだけです。

于 2012-12-15T21:33:12.350 に答える