3
基於ifdef的行爲更改的單元測試代碼的最佳方式是什麼?單元測試#ifdef
例如
+ (NSString*) someMethod:(NSString*)value {
//Do some stuff ...
#ifdef DEBUG
//Tell user about error
#else
//Suppress error
#endif
}
基於ifdef的行爲更改的單元測試代碼的最佳方式是什麼?單元測試#ifdef
例如
+ (NSString*) someMethod:(NSString*)value {
//Do some stuff ...
#ifdef DEBUG
//Tell user about error
#else
//Suppress error
#endif
}
你應該只需要測試發佈版本,因爲這是用戶看到的。
真正回答你的問題:您可以將方法分成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
單獨
是否應someMethod_debug也被包裹在一個IFDEF? – Sam
你不需要。少數多餘的方法開銷不大。但如果你將它封裝在'ifdef'中,那麼你的單元測試代碼必須用'DEBUG'標誌編譯 –