设计和声明授权功能测试问题

时间:2011-01-09 21:14:04

标签: ruby-on-rails testing devise declarative-authorization

在使用设计和声明性授权时,我在使功能测试工作时遇到了麻烦。我可以使用设计测试助手来签名用户,然后在控制器中填充current_user变量。但是,只要我使用post_with测试助手进行声明性授权,current_user就会变为nil。

在使用设计和声明授权时,有人能指出一个如何编写功能测试的例子吗?

由于

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。 你不能在设计的功能测试中使用声明性授权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

希望有所帮助。