2012-12-16 31 views
1

我在使用RSpec測試我的rails應用程序的功能時遇到了相當多的問題。我有一個公司控制器,並正在使用設計來確保您需要登錄才能訪問控制器。我如何測試與RSpec的集成和設計

我那麼有集成測試類似如下:

describe "with valid information" do 
      before do 
       fill_in "company_address", with: "My special address" 
       fill_in "company_name", with: "My User" 
       fill_in "company_contact_email", with: "[email protected]" 
       fill_in "company_contact_name", with: "Someone Hello" 
      end 

      it "should create a company" do 
       expect { click_button submit }.to change(Company, :count).by(1) 
      end  
     end 

它,當然,因爲我沒有誰是我曾嘗試創建一個測試幫助像described這裏登錄用戶失敗,對於控制器來說效果很好,但對於集成測試來說則不然。

在這些測試之前,用Devise記錄用戶的最佳方式是什麼?

回答

0

添加文件devise.rbrspec/support 這裏是內容

RSpec.configure do |config| 
    config.include Devise::TestHelpers, :type => :controller 
end 

爲您解決問題的另一種方法:Rails integration test with the devise gem

+0

我已經做到了這一點,但由於這是不是一個控制器,這不會工作。 – Dofs

+1

這個問題看起來相似http://stackoverflow.com/questions/4292872/rails-integration-test-with-the-devise-gem –

+0

謝謝,我曾看過它,但我不想測試註冊在這裏,只需確保用戶在某些測試之前登錄即可。 – Dofs