[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
用于其他用途。
例如:
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
用于其他用途。