RSpec 2 'something.should 是`
RSpec 2 'something.should be`
我遇到了一些看起来很可怕的东西 RSpec 2 测试:
something.should be
不,我不是不小心忘记了剪切+粘贴该行的其余部分,
就是这样!
那么它的确切语义是什么? should_not be_nil
?
请说明为什么这是糟糕的风格。
恕我直言,它草率、不精确,并且没有清楚地传达所需内容。 (它触发了我的呕吐反射;)
来自 docs:“我们建议您使用 expect
语法,除非您有特定原因更喜欢 should
语法。我们没有计划完全删除should
语法但开始
在 RSpec 3 中,如果您没有明确启用它,将发出弃用警告,并计划在 RSpec 4 中默认禁用它(并可能将其移至外部 gem )."
我相信新语法中的等价物是:
expect(something).to be
或更常见:
expect(something).not_to be_false
你是对的 - 根据文档 object.should.be
等于 object.should_not be_nil
Documentation,第一个列表中的第 4 个。
我遇到了一些看起来很可怕的东西 RSpec 2 测试:
something.should be
不,我不是不小心忘记了剪切+粘贴该行的其余部分, 就是这样!
那么它的确切语义是什么? should_not be_nil
?
请说明为什么这是糟糕的风格。
恕我直言,它草率、不精确,并且没有清楚地传达所需内容。 (它触发了我的呕吐反射;)
来自 docs:“我们建议您使用 expect
语法,除非您有特定原因更喜欢 should
语法。我们没有计划完全删除should
语法但开始
在 RSpec 3 中,如果您没有明确启用它,将发出弃用警告,并计划在 RSpec 4 中默认禁用它(并可能将其移至外部 gem )."
我相信新语法中的等价物是:
expect(something).to be
或更常见:
expect(something).not_to be_false
你是对的 - 根据文档 object.should.be
等于 object.should_not be_nil
Documentation,第一个列表中的第 4 个。