2012-06-26 48 views
1

爲什麼下面的步驟通過:水豚has_css?路過時應該失敗

page.has_css?("doesnt exist") 

當這種正確失敗:

page.should have_css("doesnt exist") 

如果我運行:

puts page.has_css?("doesnt exist") 

它打印 「假」,但這一步仍然過去了。

任何想法爲什麼?

回答

2

你或許應該有:

assert page.has_css?("doesnt exist") 

如果您在測試中寫上「2 == 3」,它會評估爲false,但測試方法並不一定會失敗。你需要一個斷言。我認爲「應該」風格的語法也在底層做了某種斷言。

+0

聽起來對我來說,但我得到了一個「未定義的方法」斷言'「的錯誤,有什麼我需要包括來得到那個工作? – webgirl

+0

不,沒有額外的東西讓我的斷言正常工作。嘗試另一種形式的assert:asssert_equal true,page.has_css?(「doesnt exist」) –

+0

好的 - 得到它的工作,需要包含Test :: Unit :: Assertions模塊。感謝您的幫助,您的解決方案是正確的。 – webgirl