Ger*_*Ger 3 functional-testing devise ruby-on-rails-3
我正在尝试测试我的注册控制器(它会覆盖Devise的内置控制器),但是当我进行以下测试时:
test "should create user" do
post :create, user: { email: "temp12345@email.com", first_name: @user.first_name}
assert_redirected_to user_path(assigns(:user))
end
Run Code Online (Sandbox Code Playgroud)
但是,回复的回复显示"您必须注册/登录才能继续"这没有任何意义,因为我可以从浏览器手动执行此操作以注册用户.
有任何想法吗?
刚刚遇到同样的问题.答案在设计文档中:
2)如果您正在测试Devise内部控制器或继承自Devise的控制器,您需要告诉Devise在请求之前应该使用哪个映射.这是必要的,因为Devise从路由器获取此信息,但由于功能测试不通过路由器,因此需要明确告知.例如,如果您正在测试用户范围,只需执行以下操作:
@request.env["devise.mapping"] = Devise.mappings[:user]
get :new
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |