Nie mogę uzyskać testów jednostkowych XCTestCase dla biblioteki statycznej Cocoa Touch, która opiera się na kodzie, który używa imageNamed
do pracy.Korzystanie z obrazu UIImageNamed wewnątrz XCTestCase
Dodałem obraz "plane.png" do celu testowego, ale [UIImage imageNamed]
powraca do zera.
Po wyraźnym określeniu ścieżki obrazu w teście i załadowaniu obrazu z pliku, działa.
NSString* imagePath = [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"plane.png"];
UIImage* imageWorks = [UIImage imageWithContentsOfFile:imagePath];
UIImage* imageStaysNil = [UIImage imageNamed:@"plane.png"];
Jak mogę napisać testy jednostkowe dla kodu używającego imageNamed
?
Ta nowa funkcja korzysta z pamięci podręcznej obrazu systemu, w przeciwieństwie do 'imageWithContentsOfFile', więc w iOS8 + można testować. Konieczność zmiany wszystkich wywołań 'imageNamed' po prostu po to, aby móc przetestować kod, nie jest idealna, ale tak się stanie. – Pieter