我目前正在尝试使用rspec测试自定义Devise会话控制器.我的控制器看起来像这样:
class SessionsController < Devise::SessionsController
def create
#valid email?
if !(params[:email] =~ /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/)
set_flash_message :notice, "Please enter a valid e-mail address!"
end
super
end
end
Run Code Online (Sandbox Code Playgroud)
我的RSpec控制器测试是这样的:
require 'spec_helper'
require 'devise/test_helpers'
describe SessionsController do
it "should put a warning on invalid mail address login attempt" do
post :create, :user => {:email => 'invalidEmailAddress'}
response.should contain "Please enter a valid e-mail address!"
end
it "should put no warning on valid mail address login attempt" do
pending
end
end
Run Code Online (Sandbox Code Playgroud)
如果我执行RSpec测试,则失败并显示以下行:
Failure/Error: post :new, …Run Code Online (Sandbox Code Playgroud)