2012-02-17 15 views
0

我通常會在我的控制器中設置一個實例變量,但我正在對一個模型方法進行單元測試,該方法取決於控制器中設置的實例變量的值。是否可以在非控制器測試中存儲rspec中的實例變量?

使用rspec,是否有可能爲測試存根或設置此實例變量?

到目前爲止,我看到的所有東西都使得我只能從控制器或視圖測試中存根/設置實例變量,而不是模型測試。

+0

我試圖單元測試的代碼是:def sort_special if @ myvar.present? special_sort 其他 \t regular_sort 結束 結束 – Geremy 2012-02-17 21:51:34

回答

0

我是單元測試模型方法,它取決於控制器中設置的實例變量的值。

這是一個錯誤的路要走,MVC要求我們做這三個部件之間有很強的邊界,一切都在控制器集成。如果你真的必須這樣做,你至少能顯示你使用控制器變量的代碼嗎?

+0

好吧,這是有道理的。通常情況下,我會在控制器中實例化實例變量,但我試圖在控制器單元測試之外測試有問題的方法。這有效嗎? – Geremy 2012-02-17 21:49:58

+0

是的,您可以使用模型的單元測試來測試模型。但是,將模型綁定到控制器的目的是什麼? – farnoy 2012-02-17 22:04:49

相關問題