[OCMock][OCMVerify]为什么我不调用方法,OCMVerify还是通过了?

[OCMock][OCMVerify]Why does OCMVerify still pass when I don’t call a method?

例如:

id mockDelegate = OCMProtocolMock(@protocol(managerDelegate));
self.vc.delegate = mockDelegate;
OCMExpect([mockDelegate someMethod:OCMOCK_ANY]);

... Execute some methods to make vc.m respond to someMethod delegate callback...

OCMVerify(mockDelegate);

我实现了上面的方法,发现即使class没有响应someMethod方法,OCMVerify还是判断通过了。为什么?

要使用严格模拟,请查看文档的第 7 节: https://ocmock.org/reference/#strict-mocks-and-expectations

这很容易被忽略,但您必须使用 OCMVerifyAll 来验证预期。 OCMVerify 用于其他用途。