Omniauth(twitter)のログイン、フォームの記入、データのバリデーションなど、Rspecのカピバラ統合と単体テストの作成を完了しました。別のコントローラまたは機能テストを書く必要があります。あなたの要求(統合)スペックはあなたがカバーされているすべてのコードパスを行使された場合 Rails rspecコントローラのテストとインテグレーションのテスト
があなたの入力し、など個人的に
6
A
答えて
6
さらに測定値へのリンクをお願い申し上げ、私は思います。 Ryan Batesは、彼がここでテストする方法について素晴らしいRailscastを持っています:http://railscasts.com/episodes/275-how-i-test?autoplay=trueと約5:05で彼は同様の事を言います。あなたのように、私はコントローラ仕様ではなく統合テストを書くのが好きです。ほとんどの時間コントローラーは、とにかくフロントCRUDタイプの操作になります(特に、コントローラーからドメインロジックを守ることに注意する場合は特にそうです)。だから、あなたがテストしているのはすべて足場です。
10
私はおそらくこの意見で少数派であることを知っているので、私はここで悪魔の主唱者を演奏します:私は実際には非常に徹底的なコントローラテストを行うことを好みます。いくつかの理由があります:
1)コントローラレベルで統合テストレベルよりもすべてのパスと結果を体系的にテストする方が簡単です。私の統合テストは、主に単なる幸せなパスであり、より一般的なエラーのパスです。
2)多くの潜在的なセキュリティ問題がコントローラレベルで発生します。徹底的なテストは、悪意のあるものが私のモデルロジックを通過できないようにするのに役立ちます。
3)これは主観的ですが、実際に私のアプリケーションが通過するかもしれない長い尾のパスのいくつかについて考えるようになります。誰かが無効なパスワードリセットトークンをURLに入れようとするとどうなりますか?コントローラのテストでは、すべてのオプションを考慮しています。
4)統合テストとは異なり、テストはかなり簡単です。それぞれのアクションは単なるルビーメソッドです!
関連する問題
- 1. RSpecコントローラのテスト - ブランクのresponse.body
- 2. テストRailsのRSpecの
- 3. Rails APIのrspecテスト
- 4. RSpecコントローラ破棄テスト
- 5. Rails rspecとomniauth(統合テスト)
- 6. DevailsとRSpecでRails 3のコントローラをテストする
- 7. Rails RspecテストSlack :: Notifier
- 8. Skip Rails http_basic_authenticate_with RSpecテスト
- 9. Rails 3.2 RSpecテストのFactoryGirlとの混乱
- 10. RSpecの3 - テストは、コントローラのアクション
- 11. Rails 3.2でユーザーの動作を制限するコントローラをテストするRSpecテスト
- 12. Rails ActiveRecordシリアル化データRspecテスト
- 13. Railsのコントローラのテスト用アプリケーション
- 14. rspecコントローラのテストでデバイス認証
- 15. コントローラのリダイレクトをRSpecでテストする
- 16. rspecテストで別のコントローラに投稿
- 17. コンテンツのrspecテスト
- 18. Railsコントローラのトラブル(統合?)テスト
- 19. RSpecのテストJSONポストRailsのための
- 20. Rspec Rails - コントローラをテストするためにcurrent_userになるモック
- 21. rspecテストでのRailsアプリケーションのポート番号
- 22. RspecでRailsのform_tagをテストする
- 23. コントローラのrspecテストを実行するとRspecエラーが発生する
- 24. rspecでのActionMailerテスト
- 25. Rspecコントローラは、AbstractController :: Baseを継承するコントローラをRailsでテストします。
- 26. Railsの3.2 - RSpecの - 未定義のメソッドエラーRSpecのテストに
- 27. テストRSpecの
- 28. マルチプロセスライブラリのRSpecテスト
- 29. Rspec:モデルクラスメソッドのテスト
- 30. Carrierwave + RSpecのテスト
入力いただきありがとうございます。 – user937531