基于ifdef对行为进行更改的单元测试代码的最佳方法是什么?
e.g。
+ (NSString*) someMethod:(NSString*)value {
//Do some stuff ...
#ifdef DEBUG
//Tell user about error
#else
//Suppress error
#endif
}
答案 0 :(得分:1)
你应该只需要测试发布版本,因为这是用户看到的内容。
实际回答你的问题:你可以将方法拆分为3方法
+ (NSString*) someMethod:(NSString*)value {
#ifdef DEBUG
return [self someMethod_debug:value];
#else
return [self someMethod_release:value];
#endif
}
+ (void)someMethod_debug:(NSString *)value {
//Do some stuff ...
//Tell user about error
}
+ (void)someMethod_release:(NSString *)value {
//Do some stuff ...
//Suppress error
}
然后您可以单独测试someMethod_debug
和someMethod_release