imageNamed
코드를 사용하는 Cocoa Touch 정적 라이브러리에 대한 XCTestCase 단위 테스트를 수행 할 수 없습니다.UIImage imageNamed를 사용하여 XCTestCase
"plane.png"이미지를 테스트 대상에 추가했지만 [UIImage imageNamed]
은 nil을 계속 반환합니다.
테스트에서 이미지의 경로를 명시 적으로 지정하고 파일에서 이미지를로드 할 때 작동합니다.
NSString* imagePath = [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"plane.png"];
UIImage* imageWorks = [UIImage imageWithContentsOfFile:imagePath];
UIImage* imageStaysNil = [UIImage imageNamed:@"plane.png"];
imageNamed
을 사용하는 코드의 단위 테스트는 어떻게 작성합니까?
이 새 함수는'imageWithContentsOfFile'과 달리 시스템 이미지 캐시를 사용하므로 iOS8 +에서는 테스트 할 수 있습니다. 모든'imageNamed' 호출을 단순히 유닛 테스트가 가능하도록 변경하는 것이 이상적이지는 않지만 그렇게 할 것입니다. – Pieter