私はテスト駆動開発の概念に慣れていません (そして、Rails にはかなり慣れていません)。アプリケーションのテストを作成する方法に行き詰まっています。
バックグラウンダーとして、Web アプリはピア評価ツールであり、個々のグループにアンケートが割り当てられ、そこでピアを評価するよう求められます。したがって、サンプルの質問は次のようになります。
Rate your peers on time management.
- Peer 1: __
- Peer 2: __
- Yourself: __
これを内部的に設定する方法は次のとおりです。
およびモデルの結合モデルとして機能するモデル (グループ間の調査の可視性を制御する) に関連付けられたモデルSurvey
があります。モデルにはs との関連があります。has_many
Assignment
Survey
Group
Group
has_many
User
複数のグループに同じ調査を割り当てることができるためGroup
、特定のユーザーがどの評価を求められているかを調べる必要があります。(したがって、アンケートは同じですが、上記のサンプルのように表示される人は、ユーザーごとに異なります)。
メソッド を作成することにしました。このメソッドはassignees_for_user(user)
、基本的に、調査に割り当てられたユーザーのグループを返します。
このメソッドを単体テストできるようにしたい。今のところ rspec と factory_girl を使っています。いくつかの質問を聞きたいんです:
- 私のアプローチは設計的にも正しいですか?
- これをテストする必要がありますか?
Assignment
その場合、 、Group
、およびのインスタンスを作成する必要がありますUser
ね。 - これらのインスタンスをデータベースに永続化せずにスタブ/モックできる最良の方法は何ですか? それとも私はしなければなりませんか?
ありがとう!