在使用devise和声明式授权时,我很难让功能测试正常工作。我可以使用devise测试助手来sign_in一个用户,然后在控制器中填充current_user变量。但是,一旦我使用post_with测试助手进行声明性授权,current_user就变成了空。
有没有人能给我举个例子,告诉我当同时使用devise和声明式授权时,如何编写功能测试?
谢谢
发布于 2011-01-10 20:28:45
我也有同样的问题。您不能在devise的功能测试中使用声明性授权testhelper,例如post_with。
对于功能测试,您必须使用诸如sign_in和sign_out之类的设计型测试工具。我已经写了一个帮助器,它使用设计性的测试帮助器方法进行功能测试:
def test_with_user(user, &block)
begin
sign_in :user, users(user)
yield
ensure
sign_out :user
end
end
这个帮助器的用法如下:
test_with_user(:max) do
get :new
assert_response :success
end
希望这能有所帮助。
https://stackoverflow.com/questions/4641847
复制相似问题