我想寫一個控制器的規格而不使用燈具(而不是使用模擬模型)。此控制器要求用戶登錄,我正在使用AuthLogic,跟在author's recommendations之後。如何在AuthLogic控制器規格中使用模擬模型?
describe UsersController do
def mock_user(stubs={})
@mock_user ||= mock_model(User, stubs)
end
context 'when logged in' do
before { activate_authlogic }
it "exposes the logged-in user as @user in response to GET (show)" do
UserSession.create(mock_user)
...
end
...
end
...
end
這些例子都不能在該行UserSession.create(...)
,該效果報告:
Mock 'User_1005' received unexpected message :changed? with (no args)
我不知道如何解決這個;嘲笑:changed? => false
是否合適?
是否會發生,與會話對象,有沒有這麼多的情況下覆蓋? 以下是我所擔心的:如果您有一套明顯的病例需要覆蓋,並且特別是您可以明顯標記它們, 「admin_user」和「registered_user」。只要他們難以標記,你就開始獲得測試代碼,如「如果quentin登錄,然後你看到X」,這對我來說沒有任何意義。 會議是否適合裝置? – 2009-06-22 07:26:35