我想写一个控制器的规格而不使用灯具(而不是使用模拟模型)。此控制器要求用户登录,我正在使用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