存根方法并将其返回值动态设置为输入参数

fab*_*abb 1 mocking ios kiwi

我想动态地将依赖于参数的值返回到模拟方法,在概念上如下:

[realObject stub] myMethod:CAPTUREDARGUMENT) andReturn:myMethod:CAPTUREDARGUMENT];
Run Code Online (Sandbox Code Playgroud)

或者像OCMock一样访问块中的调用:

void (^theBlock)(NSInvocation *) = ^(NSInvocation *invocation) {
    /* code that reads and modifies the invocation object */
};
[[[mock stub] andDo:theBlock] someMethod:[OCMArg any]];
Run Code Online (Sandbox Code Playgroud)

这可能与新西兰人有关吗?

fab*_*abb 5

有可能使用stub:withBlock::

[realObject stub:@selector(myMethod:) withBlock:^id(NSArray *params) {
    return [params objectAtIndex:0];
];
Run Code Online (Sandbox Code Playgroud)