[英]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.