0
我有一个简单School
类,其限定了init
方法:单元测试非常简单的方法,但未能
@implementation School
- (id) init {
self = [super init];
if (self) {
// call class method of MyHelper class
if ([MyHelper isWeekend]) {
[MyHelper doSomething];
}
}
}
@end
(MyHelper
是一类只包含类的方法,所述isWeekend
是一个类方法返回一个布尔值)
我使用OCMock单元测试这个简单的方法init
:
- (void)testInit {
// mock a school instance
id schoolMock = [OCMockObject partialMockForObject:[[School alloc] init]];
// mock class MyHelper
id MyHelperMock = OCMStrictClassMock([MyHelper class]);
// stub class method 'isWeekend()' to return true
OCMExpect([MyHelperMock isWeekend]).andReturn(true);
// run init method
[schoolMock init];
// verify
OCMVerify([MyHelperMock isWeekend]);
}
但是运行时出现错误:
OCMockObject(MyHelper): Method isWeekend was not invoked.
为什么?