Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c OCM验证所有延迟不工作_Objective C_Ocmock - Fatal编程技术网

Objective c OCM验证所有延迟不工作

Objective c OCM验证所有延迟不工作,objective-c,ocmock,Objective C,Ocmock,我正在使用OCMock验证是否正确调用了一些委托方法,但即使从测试代码显式调用它们,它也不起作用 id protocolMock = OCMProtocolMock(@protocol(NMARouteManagerDelegate)); sut.delegate = protocolMock; [sut.delegate routeManager:sut skippedRouteForTransportMode:1]; OCMExpect([protocolMock routeManage

我正在使用
OCMock
验证是否正确调用了一些委托方法,但即使从测试代码显式调用它们,它也不起作用

id protocolMock = OCMProtocolMock(@protocol(NMARouteManagerDelegate));
sut.delegate = protocolMock;

[sut.delegate routeManager:sut skippedRouteForTransportMode:1];

OCMExpect([protocolMock routeManager:sut skippedRouteForTransportMode:1]);
OCMVerifyAllWithDelay(protocolMock, 1);
此操作失败并出现错误

未调用预期的方法:routeManager:skippedRouteForTransportMode:1

如果我使用同步验证,它可以正常工作:

OCMVerify([protocolMock routeManager:sut skippedRouteForTransportMode:1]);

在我的实际测试中,我需要使用
OCMVerifyAllWithDelay

异步完成验证。这可能不是问题所在,但您正在调用该方法后设置期望值。如果在调用方法之前设置期望值会发生什么情况?很可能就是这样,谢谢这可能不是问题所在,但您是在调用方法之后设置期望值的。如果在调用方法之前设置期望值会发生什么情况?很可能就是这样,谢谢这可能不是问题所在,但您是在调用方法之后设置期望值的。如果在调用方法之前设置了期望值,会发生什么?很可能就是这样,谢谢