> Ocmock_ANY
> [OCMArg anyPointer]
>创建一个NSError对象错误,并表示[OCMArg setTo:error].
没有什么工作.
如何模拟这种方法?请指教.
编辑
-(ID)init{ self = [super init]; if (self) { ID wcm = [OcmockObject partialMockForObject:self]; [[[wcm stub] andCall:@selector(mockGetWakeupCallsForRoomNumber:error:) onObject:self] getWakeupCallsForRoomNumber:Ocmock_ANY error:((NSError __autoreleasing **) [OCMArg anyPointer])]; //[[[wcm stub] andCall:@selector(testMockMethod) onObject:self] testMethod]; } return self;}-(voID)testMethod{ NSLog(@"Original");}-(voID)testMockMethod{ NSLog(@"Mock");}-(NSArray*)mockGetWakeupCallsForRoomNumber:(Nsstring*)roomNumber error:(NSError**)error{ @throw @"Mock method called";}-(NSArray*)getWakeupCallsForRoomNumber:(Nsstring*)roomNumber error:(NSError**)error{}
模拟testMockMethod工作.
解决方法 您可以使用setTo:或anyPointer来转换它:[[[mockFoo expect] andReturn:nil] someMethoDWithError:((NSError __autoreleasing **)[OCMArg anyPointer])];
要么:
NSError *error;[[[mockFoo expect] andReturn:nil] someMethoDWithError:((NSError __autoreleasing **)[OCMArg setTo:error])];
这是一个通过您发布的方法传递的测试用例:
@interface Foo : NSObject{}-(NSArray*)mockGetWakeupCallsForRoomNumber:(Nsstring*)roomNumber error:(NSError**)error;-(NSArray*)getWakeupCallsForRoomNumber:(Nsstring*)roomNumber error:(NSError**)error;@end@implementation Foo-(NSArray*)mockGetWakeupCallsForRoomNumber:(Nsstring*)roomNumber error:(NSError**)error{ return @[@"bar"];}-(NSArray*)getWakeupCallsForRoomNumber:(Nsstring*)roomNumber error:(NSError**)error{ return nil;}@end@interface SomeTest : SenTestCase {}@end@implementation SomeTest-(voID)testMethod{ Foo *foo = [Foo new]; ID wcm = [OcmockObject partialMockForObject:foo]; [[[wcm stub] andCall:@selector(mockGetWakeupCallsForRoomNumber:error:) onObject:foo] getWakeupCallsForRoomNumber:Ocmock_ANY error:((ID __autoreleasing *)[OCMArg anyPointer])]; NSError *error; NSArray *calls = [wcm getWakeupCallsForRoomNumber:@"foo" error:&error]; STAssertEquals(calls[0],@"bar",@"should match");}@end总结
以上是内存溢出为你收集整理的ios – 如何在ARC中的OCMock中模拟**参数全部内容,希望文章能够帮你解决ios – 如何在ARC中的OCMock中模拟**参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)