15

我需要确保在给出一组特定条件的情况下不调用方法,并且我正在寻找与 mocha 期望相反的方法。

4

4 回答 4

28

看看 mocha'snever或 rspec's should_not_receiveandshould_receive(:selector).exactly(n).times

于 2011-02-03T01:23:08.513 回答
3

无论如何,我都不是摩卡咖啡专家,但我怀疑您需要的东西可能是由never修饰符提供的期望值。

于 2011-02-03T01:21:11.220 回答
2

RSpec 3.6 现在使用expect(...).not_to receive(...) 来处理这个问题。

从链接:

RSpec.describe "A negative message expectation" do
  it "passes if the message is never received" do
    dbl = double("Some Collaborator").as_null_object
    expect(dbl).not_to receive(:foo)
  end
end
于 2017-05-08T22:05:47.907 回答
2

文档中的摩卡示例

object = mock()
object.expects(:expected_method).never
object.expected_method # => unexpected invocation

object = mock()
object.expects(:expected_method).never
# => verify succeeds
于 2019-05-09T07:13:17.857 回答