2012-07-10 2 views
0

유닛 테스트 클래스에서 메소드가 호출 된 경우에만 메소드를 호출하려고합니다. 다음 코드를 구현했습니다.#define을 사용하여 호출 클래스를 구별합니다.

#ifndef UNIT_TESTING 

    NSLog(@"inside unit testing"); 

#endif 

컨트롤러 클래스에서 호출 할 때 호출되지 않습니다. 이 루프가 호출되도록하려면 어떻게해야합니까? 어떻게 매크로를 UNIT_TESTING으로 설정할 수 있습니까?

+2

코드를 테스트해야한다는 것을 알고 있다면 단위 테스트가 잘못되었을 수 있습니다. – JustSid

+0

코드가 테스트되고 있음을 알리는 방법은 무엇입니까? 테스트 케이스에 단위 테스트 케이스에 여분의 로직을 넣지 않았다. - (void) testShouldNotReturnPathWhenKeyIsEmpty { NSString * url = @ "" "; STAssertNil ([cacheManager getResources : url], @ "경로가 nil이 아닙니다"); } –

답변

0

단위 테스트 대상 빌드 설정 (X 코드)에서 "Apple LLVM 3.1"섹션의 "Preprocessor Macros Not Used Precompiled Headers"옵션에 다음을 추가하십시오 (또는 이와 동등한 GCC 섹션을 아직 사용중인 경우) :

UNIT_TESTING=1 
관련 문제