2016-11-23 1 views
1

SDK 나는 framework을 의도 한대로 제공하고 있습니다.프레임 워크의 Plist에서 단위 테스트 독서

나는이 목적으로 XCTests을 사용하여 몇 가지 단위 테스트를 작성했습니다. Plist에서 일부 정보를 읽어야하지만 경로는 항상 nil으로 끝납니다.

내가 사용하고 있습니다 :

NSBundle *bundle = [NSBundle bundleForClass: [self class]]; 
NSString *path = [bundle pathForResource:@"aPList" ofType:@"plist"]; 

나는 빌드 단계를 통해 복사 Plist을 가지고있다.

+0

plist 파일의 대상 종속성은 테스트 대상으로 설정되어 있습니까? – OliverM

+0

@OliverM 목표 회원을 의미하면 '예'입니다. – Kheldar

+0

파일이 xctest 결과에 복사되지만 프레임 워크 자체에 복사되지는 않는다는 것을 알았습니다. (예상대로, 최종 사용자 - 개발자가 Plist를 추가해야하기 때문에). 테스트 목적을 위해 프레임 워크 대상에 추가했지만 결과는 iffy입니다. "실제 컴파일"을위한 타겟을 추가하고 "테스트를위한 컴파일"을위한 다른 것을 추가하는 것은 잘못된 것처럼 들립니다. 번들에 액세스하려고 쓰는 코드에 더 나은 옵션이 있습니까? – Kheldar

답변

0

SDK 사용자는 일반적으로 프레임 워크에 자신의 앱 (기본 번들)에 plist를 추가하지 않습니다. SDK의 클래스는 plist에 대한 NSURL/경로로 초기화 될 수 있습니다. 그런 식으로 [[NSBundle mainBundle] pathForResource:@"aPList" ofType:@"plist"]은 SDK에서 사용할 plist 경로를 얻기 위해 단위 테스트 및 응용 프로그램 번들 모두에서 작동합니다.

+0

사실, 이것은 처음에 어떻게했는지입니다. 나는 그것이 내 테스트에서 작동하지 않는다는 것을 알았다. – Kheldar

관련 문제