2012-07-10 23 views
0

當且僅當方法是從單元測試類中調用時,我想調用某種方法。我已經實現了以下代碼:使用#define來區分調用類

#ifndef UNIT_TESTING 

    NSLog(@"inside unit testing"); 

#endif 

當我從控制器類調用時,不會調用這個函數。我該怎麼做才能讓這個循環被調用?如何將宏設置爲UNIT_TESTTING

+2

如果你的代碼必須知道被測試,你的單元測試可能是錯誤的。 – JustSid 2012-07-10 06:52:31

+0

如何使代碼意識到其被測試?我沒有在單元測試用例中加入任何額外的邏輯,因爲我的測試用例是: - (void)testShouldNotReturnPathWhenKeyIsEmpty { NSString * url = @「」; STAssertNil([cacheManager getResources:url],@「路徑不是零」); } – 2012-07-10 06:56:42

回答

0

在您的單元測試定向生成設置(在X代碼中)中,將以下內容添加到「Apple LLVM 3.1」部分下的「預編譯頭中未使用的預處理器宏」選項中(或者等價的GCC部分,如果你還在使用的話):

UNIT_TESTING=1