当我assert_template
调用同时发送电子邮件的操作后,我会收到电子邮件模板信息,而不是浏览器中显示的信息。
控制器操作
def create
@user = User.new(params)
if @user.save
respond_to do |format|
format.html { redirect_to user_path(@user), :notice => "User Created" }
end
end
end
@user.save
方法有一个向用户发送确认电子邮件的回调。
测试
test 'should render show template' do
post :create, user: {:email => 'test@example.com'}
assert_template :show # Here I'm getting the email template that is being sent on after save callback
end
如何断言浏览用户被正确地重定向到(用户)显示操作?
答案 0 :(得分:2)
将其更改为assert_redirected_to
test 'should render show template' do
post :create, user: {:email => 'test@example.com'}
assert_redirected_to(user_path(assigns(:user))
end