2

アプリケーション内には、関連データを使用して個別の呼び出しを行う特定のフローがあります。これらは異なるコントローラーにありますが、同じユーザーとやり取りします。

完全なフローが期待どおりに機能することを確認するためのテストを作成しようとしています。構成部分の個別のテストを作成しましたが、完全なフローのテストが必要です。

たとえば、チェックインして作業し (checkin)、ウィジェットを作成する (widgetize) ユーザーがいるとします。チェックインしたユーザーと、ウィジェット化した (そしてチェックインした) ユーザーとの間でユーザーをフィルタリングするメソッドがあります。フィルターが機能することを確認するために FactoryGirl を使用して小さなオブジェクトを作成できますが、ユーザーがチェックインし、別のユーザーがチェックインし、2 番目のユーザーがウィジェット化して、フィルタリング メソッドがユーザーのみをキャプチャすることを確認できるようにするテストが必要です。キャプチャしたい。

私が最初に考えたのは、widgetize 仕様からチェックインを直接呼び出すだけの rspec テストを作成し、フィルター メソッドを確認することでした。それを機能させる方法;そのコントローラーへの投稿と取得は機能していませんでした)。また、これは非常に悪い習慣だと人々は私に言いました。

これをテストするにはどうすればよいですか?

4

1 に答える 1

0

この記事では、request-specs を使用して統合テストをかなりうまく進める方法について説明します。

http://everydayrails.com/2012/04/24/testing-series-rspec-requests.html

基本的に、カピバラのような宝石を使用して、ユーザー入力をシミュレートし、アプリ全体でテストを実行して、すべてが期待どおりに進んでいるかどうかを確認できるようにします。

于 2012-11-19T20:41:05.610 に答える