+(NSString *) classMethod:(id)someDataObject
{
NSString *returnStr;
//do something with someDataObject and set returnStr
//...
returnStr = [NSString stringWithFormat:@"%@%@", returnStr,[self getCurrentTimestamp]];
return returnStr;
}
+ (NSString *)getCurrentTimestamp
{
NSNumber *t = [NSNumber numberWithLong:[[NSDate date] timeIntervalSince1970]];
return [t stringValue];
}
Я изо всех сил, чтобы написать тестовый пример для Метод класса, потому что, когда я запускаю тест OCUnit и передать объект OCMock на classMethod выход всегда будет отличаться, как добавить метку времени. Каков наилучший подход к stub метод класса - getCurrentTimestamp? Действительно ли можно отключить методы класса тестируемого класса?OCMock методы класса заглушки класса, который испытывается
Я попытался, как это, но он не работает:
id mock = [OCMockObject mockForClass:[MyClass class]];
[[[mock stub] andReturn:@1378468455] getCurrentTimestamp];
NSString *str = [MyClass classMethod:someMockObject];
Я заметил, что ваш заглушка возвращает NSNumber, а не и NSString - не уверен, что это проблема ... –