需要为以下代码编写单元测试,我想对类方法canMakePayments进行mock,返回yes或no,到目前为止没有找到好的方法,因为canMakePayments是一个类方法(+),似乎所有OCMock方法都用于实例方法(-)。
你们的任何建议或讨论将不胜感激。谢谢。
// SKPaymentQueue.h
// StoreKit
if ([SKPaymentQueue canMakePayments]){
....
}
else{
...
}
一种方法是将类方法包装在您自己的实例方法中:
-(BOOL)canMakePayments {
return [SKPaymentQueue canMakePayments];
}
然后你模拟该方法:
-(void)testCanHandlePaymentsDisabled {
Foo *foo = [[Foo alloc] init];
id mockFoo = [OCMockObject partialMockForObject:foo];
BOOL paymentsEnabled = NO;
[[[mockFoo stub] andReturnValue:OCMOCK_VALUE(paymentsEnabled)] canMakePayments];
// set up expectations for payments disabled case
...
[foo attemptPurchase];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)