我碰到一些可怕的看着RSpec的2個測試:RSpec的2「something.should be`
something.should be
不,我不小心忘剪切+粘貼線, 就是它的休息!
那麼它的確切語義是什麼? should_not be_nil
?
請在這爲什麼這是可怕的風格編鐘。
恕我直言,這是馬虎,不精確,並沒有明確表達什麼是必需的。 (它會觸發我的嘔反射;)
我碰到一些可怕的看着RSpec的2個測試:RSpec的2「something.should be`
something.should be
不,我不小心忘剪切+粘貼線, 就是它的休息!
那麼它的確切語義是什麼? should_not be_nil
?
請在這爲什麼這是可怕的風格編鐘。
恕我直言,這是馬虎,不精確,並沒有明確表達什麼是必需的。 (它會觸發我的嘔反射;)
你是正確的 - 根據文檔object.should.be
等於object.should_not be_nil
Documentation,第一名列表中的第四名。
從docs:「我們建議您使用expect
語法,除非你有你喜歡的should
句法的特殊原因,我們沒有計劃能完全去除should
語法,但開始 。在RSpec 3中,如果您未明確啓用它,則會發出棄用警告,並且計劃在RSpec 4中默認禁用它(並可能將其移至外部寶石中)。「
我相信,在新的語法相當於是:
expect(something).to be
或更常見:
expect(something).not_to be_false
是的,我知道'expect'應該用於RSpec 3. 我特別要求RSpec 2,因爲標題提到:) – Tilo