How can I use OCMock to verify that a method is never called?

后端 未结 6 2084
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-06 22:32

At my day job I\'ve been spoiled with Mockito\'s never() verification, which can confirm that a mock method is never called.

Is there some way to accomplish the same thi

6条回答
  •  不知归路
    2021-02-06 22:51

    Since r69 of OCMock, it's possible to reject a method call http://svn.mulle-kybernetik.com/OCMock/trunk/Source/Changes.txt

    Nice mocks / failing fast When a method is called on a mock object that has not been set up with either expect or stub the mock object will raise an exception. This fail-fast mode can be turned off by creating a "nice" mock:

    id mock = [OCMockObject niceMockForClass:[SomeClass class]]
    

    While nice mocks will simply ignore all unexpected methods it is possible to disallow specific methods:

    [[mock reject] someMethod]
    

    Note that in fail-fast mode, if the exception is ignored, it will be rethrown when verify is called. This makes it possible to ensure that unwanted invocations from notifications etc. can be detected.

    Quoted from: http://www.mulle-kybernetik.com/software/OCMock/#features

提交回复
热议问题