如何捕获发送给模拟的参数?

Dr *_*Joe 6 objective-c ocmock ios

有谁知道如何捕获发送到OCMock对象的参数?

id mock = [OCMockObject mockForClass:someClass]
NSObject* captureThisArgument;
[[mock expect] foo:<captureThisArgument>]

[mock foo:someThing]
GHAssertEquals[captured, someThing, nil];
Run Code Online (Sandbox Code Playgroud)

我如何验证foo的参数?我很乐意在模拟定义中的一个块内执行它,但是如果我可以将对象取出以便我可以在以后确定它的特征就会很棒.

这可能与OCMock有关吗?

Que*_*tin 11

如果你想验证你的参数,也许你可以在设置你的存根时直接这样做:

id mock = [OCMockObject mockForClass:someClass];
NSObject* captureThisArgument;
[[mock expect] foo:[OCMArg checkWithBlock:^(id value){ 
    // Capture argument here...
}]];
Run Code Online (Sandbox Code Playgroud)

此致,Quentin A.