2012-02-17 21 views
0

私は通常、私のコントローラにインスタンス変数を設定しますが、コントローラに設定されたインスタンス変数の値に依存するモデルメソッドをユニットテストしています。非コントローラテストでrspecのインスタンス変数をスタブすることは可能ですか?

rspecを使用すると、このインスタンス変数をテスト用にスタブまたは設定できますか?

これまで見たことは、モデルテストではなく、コントローラまたはビューテストからインスタンス変数をスタブ/設定できるように見えることです。

+0

私が単体テストしようとしているコードは:def sort_special if @ myvar.present? special_sort else \t regular_sort end end – Geremy

答えて

0

私は、コントローラーに設定されたインスタンス変数の値に依存するモデルメソッドをユニットテストしています。どこへ行くか間違った方法だ

MVCは、我々はこれらの3つのコンポーネントの間に強力な境界を作るとコントローラのすべてを統合することを指示。あなたが本当にそのようにしなければならない場合は、コントローラ変数を使用しているコードを少なくとも表示できますか?

+0

OKです。通常、私はコントローラのインスタンス変数をインスタンス化しますが、私は問題のメソッドをコントローラユニットのテストの外側でテストしようとしています。それは有効ですか? – Geremy

+0

はい、モデルの単体テストでモデルをテストします。しかし、モデルをコントローラに結合する目的は何ですか? – farnoy

関連する問題