在我的控制器規範中,我是否有效?對於一些路由測試,(基於瑞安貝茨nifty_scaffold)如下: -有沒有辦法可以取消any_instance的Mocha樁?
it "create action should render new template when model is invalid" do
Company.any_instance.stubs(:valid?).returns(false)
post :create
response.should render_template(:new)
end
這是好的,當我在單獨測試控制器。在我的型號中我也有以下內容
it "is valid with valid attributes" do
@company.should be_valid
end
再一次,當單獨測試時,它可以正常工作。如果我爲模型和控制器運行spec,問題就來了。模型測試總是失敗,因爲有效?方法已被剔除。有沒有辦法讓我在控制器測試結束後刪除any_instance的殘根。
我已經通過以反向字母順序運行測試來確保模型測試在控制器之前運行,但我真的不喜歡我的測試依賴於序列。
雖然解決方案是正確的,但解釋不是。摩卡沒有檢測到RSpec,但是當按照所述設置RSpec配置時,RSpec在適當的點調用摩卡。 – 2010-09-26 19:33:12
更新了評論。謝謝@floehopper – 2010-09-26 22:02:24