2017-02-23 45 views
1

我碰到一些可怕的看着RSpec的2個測試:RSpec的2「something.should be`

something.should be 

不,我不小心忘剪切+粘貼線, 就是它的休息!

那麼它的確切語義是什麼? should_not be_nil

請在這爲什麼這是可怕的風格編鐘。

恕我直言,這是馬虎,不精確,並沒有明確表達什麼是必需的。 (它會觸發我的嘔反射;)

回答

1

你是正確的 - 根據文檔object.should.be等於object.should_not be_nil

Documentation,第一名列表中的第四名。

0

docs:「我們建議您使用expect語法,除非你有你喜歡的should句法的特殊原因,我們沒有計劃能完全去除should語法,但開始 。在RSpec 3中,如果您未明確啓用它,則會發出棄用警告,並且計劃在RSpec 4中默認禁用它(並可能將其移至外部寶石中)。「

我相信,在新的語法相當於是:

expect(something).to be 

或更常見:

expect(something).not_to be_false 
+0

是的,我知道'expect'應該用於RSpec 3. 我特別要求RSpec 2,因爲標題提到:) – Tilo