Bir sorunla karşılaşıyorum ve işleri doğru şekilde yaptığımı doğrulamak istedim.Xcode Birimi Testi - Uygulamanın paketindeki Kaynaklara erişme?
Basit şeyleri SenTestingKit testlerimle test edebilirim ve bu iyi çalışıyor. Bir Birim Test Paketi kurdum ve ana uygulama hedefine bağımlılık olarak ayarladım. Cmd + B'ye bastığımda tüm testleri başarıyla çalıştırır.
İşte burada konulara giriyorum. Uygulamanın bir parçası olarak kaynak klasöründen yüklemem gereken bazı XML dosyalarım var. İyi bir ünite test cihazı olarak, düzgün bir şekilde yüklendiklerinden emin olmak için bunun etrafında birim testleri yazmak istiyorum.
Yani şöyle bazı kodlar vardır:
NSString *filePath = [[NSBundle mainBundle]
pathForResource:@"foo" ofType:@"xml"];
uygulaması çalıştığında, ancak bir birim testi sırasında, yanlış demetine mainBundle
puan, bu yüzden bu kod satırı nil döndüğünde bu çalışır. o Config
parçası olması gerekiyor testi bile böyle bir kod derlemek için Bunun nedeni sırayla, ya da çalışmaz
NSString *filePath = [[NSBundle bundleForClass:[Config class]]
pathForResource:@"foo" ofType:@"xml"];
:
Yani böyle bilinen bir sınıf kullanmak için o kadar değişti Ünite Test Hedefinin Bunu eklerseniz, o sınıfın paketi Birim Test paketi olur. (Ugh!)Bu yanlış yola mı yaklaşıyorum?
Oluşturmayı deneyin ve daha sonra testleri çalıştırın. Bunun üzerine bir iTunes U videosu gördüm ve test hedefinin düzgün bir şekilde ayarlanmadığı durumlarda, test yaptıktan sonra bina yerine çalıştırıldığında son yapı üzerinde test yapılacağını söylediler. Durumun böyle olmadığından emin olmak için kontrol ettiniz mi? – Tacoman667
Birim test projesini oluşturmayı deneyin? Birim test paketinin bir kısmı komut dosyalarını çalıştırmaktır, bu yüzden uygulamamın hedefinin bir bağımlılığı olarak kurdum. CMD + B daima testler yapmalıdır. –