2016-06-07 101 views
0

我們正在編寫測試到Rails應用程序,我們需要測試一個控制器,我們幾乎爲每個請求傳遞標題,但不是全部。Rails測試,只爲某些測試設置了一個設置

你傳遞一個頭設置@request.headers['my-header'] = 'my-header-content',但我們只希望做這在一些測試中,不是所有的,所以有在setup這一行是不是一種選擇,但我們認爲不正確的有它重複20到30次,每請求。

我們怎麼能做到這一點?

回答

1

如果您使用rspec,你可以把它們分成兩個不同的環境,然後這方面做了before

describe MyController do 
    context 'with specific header' do 
    before :all do 
     @request.headers['my-header'] = 'my-header-content' 
    end 
    end 

    context 'other context' do 
    #Tests without context 
    end 
end 

如果您使用minitest你可以隨時你的測試分成類。然後讓一個類到特定的標題,另一個到另一個測試。