[英]Rspec2 controller testing with devise
我目前是RSpec的新手,并尝试使用RSpec进行一些控制器测试
在我的Rails应用程序中,我使用Devise作为身份验证系统。 我的问题是,当我们测试使用某种身份验证系统的控制器(在我的示例中为Devise)时,标准做法是什么?
是吗
1-跳过身份验证
要么
2-验证控制器
根据问题,以下是我的控制器
require File.dirname(__FILE__) + '/../spec_helper'
describe ProjectsController do
include Devise::TestHelpers
p "starting..."
before(:each) do
p "in before method"
@request.env["devise.mapping"] = Devise.mappings[:user]
sign_in Factory.create(:user)
end
it "should create a project" do
p "should create a project"
end
after(:each) do
@user.destroy unless @user.nil?
end
end
我只能看到“ starting
”,但是为什么它不去“ in before method
”和“ should create a project
”
我在Ubuntu上使用Rspec2和Rails2。
检查一下: 在rSpec和Rails3中存根Devise 。
标准做法不是跳过身份验证,而是有效地确保登录了正确的用户(用于设计)。
参考您的代码:您是否尝试过创建一些真实的测试? 例如简单的事情
it "gets index" do
get :index
response.status.should be == 200
end
我不确定为什么您看不到打印语句。 rspec跳过了空步骤(没有实际代码),或者是因为其他问题出了错。 但老实说,我什至不确定在rspec中使用p
是否有效。
像rubymine这样的工具可以让您轻松调试规范(如果想要加入它,imho是比分散的p
语句更好的方法)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.