我有一个需要存根的方法。该方法的形式如下:
BOOL myMethodWithError:(*__autoreleasing *NSError)error;
所以我嘲笑了这个对象,并试图通过“错误”返回一个零。我将其编码如下。
id mockMyObject = [OCMockObject mockForClass:[MyObject class]];
BOOL retVal = YES;
NSError *error = nil;
[[[mockMyObject stub] andReturn:OCMOCK_VALUE(retVal)] myMethodWithError:&error];
当运行测试并操作模拟对象时,错误引用 id 似乎发生了变化。所以模拟抛出异常:
OCMockObject [MyObject]:调用的预期方法:myMethodWithError:0xbfffca78
我尝试了许多不同的方法,但是每次将错误对象传递给导致模拟对象抛出错误的方法时,指针值似乎都会发生变化。
我只需要针对参数的传递引用值测试我的业务规则,但我似乎无法让模拟或测试对象进行合作。
在此先感谢,任何帮助将不胜感激。