2012-07-30 2 views
-2

해당 범주 내의 다른 메서드에서만 호출되는 메서드가 포함 된 범주 (NSDate)가 있으므로 해당 범주의 메서드를 노출 할 필요가 없습니다 헤더 파일.비활성화 * 유닛 테스트 대상에 대한 visible @ interface * 오류가 없음

예상대로 내가 단위 테스트에서 메소드를 호출하는 경우

그러나, 컴파일러는

'있는 NSDate'에 대한 눈에 띄는 @ 인터페이스는 선택이 'MyMethod라는'선언 없다는 소리 질러

이러한 특정 오류를 끌 수 있기를 바랍니다 (단위 테스트 대상에만 해당).

누군가 올바른 컴파일러 플래그의 방향으로 나를 가리킬 수 있습니까?

+1

모든 downvoter 관리 위의 선언? –

답변

3

대신에 다시 설정하지 않는 이유는 무엇입니까? 경고를 완전히 끄면 컴파일러가 경고를 진짜 장소에서 잃게됩니다.

그래서 그냥 내가 문제를 개선하기 위해 무엇을 할 수 있는지에 대한 언급을 단위 테스트

@interface NSDate (UnitTests) 

// your method sig 

@end 

@implementation YourUnitTest 

//... 
+0

Brilliant ... 나는 당신이 그 10.8k 포인트를 얻은 곳을 볼 수있다 !! –

+0

FWIW, 단위 테스트 대상에서 오류를 끄는 데 관심이있었습니다. 일반 대상을 컴파일하면 여전히 강조 표시됩니다. 지금도 모트 포인트. –

+1

나는 여전히 이것이 더 안전한 내기라고 생각한다. 당신은 여전히 ​​단위 테스트에 코드를 작성하므로, 실수를 할 수 있습니다 - 컴파일러가 분명한 실수를 탐지 할 때 작업하게하십시오. –