2011-07-17 87 views
1

編碼我的第一個rspec測試。 headers == nil打印true,但下一個測試線headers should be_nil失敗。爲什麼?簡單的Rspec測試失敗 - 爲什麼?

require 'net/http' 

$url_arr = [] 
$url_arr << ... 
$url_arr << ... 
$url_arr << ... 

module NetHelpers 
    def get_headers(uri) 
     Net::HTTP.get_response(URI.parse(uri)).get_fields('Set-Cookie') 
    end 
end 

describe "new script" do 
    include NetHelpers 

    $url_arr.each do |uri| 
     it "should not return cookies" do 
      headers = get_headers(uri) 
      p "==========> #{headers == nil}" 
      headers should be_nil 
     end 
    end 
end 

此外,輸出

了: 「新的腳本」(使用==)

爲什麼「新劇本」被打印出來,而headers確實包含nil

回答

1

嘗試

headers.should be_nil 

代替。

+0

感謝 - 它的作品!但(我的問題的第二部分)爲什麼(在我的情況下)主要版本的輸出包含'新腳本...'?試圖打印「標題」 - 認爲這是一個有名的名字,但得到了一個「未定義」的錯誤。 – BreakPhreak

+0

輸出什麼?我認爲你的問題是缺少與該部分相關的代碼。 – Thilo

+0

錯誤行的輸出(包含'should'沒有點) - 它包含'new script'(這是'describe'標題)。這個問題聽起來很清楚嗎? – BreakPhreak