OCMockライブラリを使用しようとしています。クラスオブジェクトのモックを作成しようとしていますが、メソッドの検証に失敗しています。なぜテストが失敗しているのか理解できません。OCMockを使用して静的メソッドを確認する方法
@interface MyClass:NSObject
+(void) someMethod;
@end
@implementation MyClass
+(void) someMethod
{
NSError* error = nil;
if (![Utility isValidPropWithError:&error])
{
[Logger log:LoggerLevelWarning message:[error localizedDescription] className:className];
}
}
@end
試験:上記のコードで
-(void)testIfLoggerIsset{
id partialMockLogger = OCMClassMock([Logger class]);
id partialMockUtility = OCMClassMock([Utility class]);
id partialMockClass = OCMClassMock([MyClass class]);
NSError *error = nil;
OCMExpect([partialMockUtility isValidPropWithError:&error]);
[MyClass someMethod];
//This works fine.
OCMVerifyAll(partialMockClass);
NSString *className = @"classname";
//This is failing...
OCMVerify([partialMockUtility isValidPropWithError:&error]);
OCMVerifyAll(partialMockUtility);
//This is failing...
OCMVerify([partialMockLogger log:LoggerLevelWarning message:[error localizedDescription] className:className]);
[partialMockUtility stopMocking];
[partialMockLogger stopMocking];
}
、[Utility isValidPropWithError:&error];
がOCMVerify([partialMockUtility isValidPropWithError:&error]);
呼ばれるが失敗しています。ここ