小编kai*_*owl的帖子

使用AbstractController :: ActionNotFound,自定义设计会话控制器的RSpec测试失败

我目前正在尝试使用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)

controller rspec ruby-on-rails devise

16
推荐指数
1
解决办法
7065
查看次数

标签 统计

controller ×1

devise ×1

rspec ×1

ruby-on-rails ×1