设计1.2 ruby on rails
我在测试注册时有困难。当用户点击注册时,他们登录了,我应该看到一个闪光消息。这是有效的,但我的测试失败了。不知道为什么。如何注册?是不是发生了某种内部重定向?此步骤失败:Then I should see "You have registered successfully. If enabled, a confirmation was sent your e-mail."
在我的用户模型中没有启用确认
理论上,您不应该觉得需要对设计机制进行单元测试——gem本身已经经过了很好的测试。我可以理解想要确保它的行为方式你配置它,所以:
在认证成功后确定重定向。它会设置flash消息,然后重定向到你在路由文件中设置的根目录,或者如果你试图访问网站内的页面,却被重定向到登录页面,它会重定向到你试图访问的页面。
对于你的测试,试着测试你被重定向到你在路由中设置的根。rb费尔。例如,在设计指令中,它说将其设置为
root :to => "home#index"
那么,在你的测试中尝试这样做:
require 'spec_helper'
describe YourController do
include Devise::TestHelpers
before (:each) do
@user = Factory.create(:user)
sign_in @user
end
describe "GET 'index'" do
it "should be successful" do
get 'index'
response.should be_success
end
it "should redirect to root" do
get 'index'
response.should redirect_to(root_url)
end
end
您也可以将您的flash消息测试添加到此。希望这对你有帮助!