SORU
10 Aralık 2009, PERŞEMBE


Neden birim test içinde't kodu paket kaynak bulabilir mi?

Birim testi ben bazı kod kaynak dosya yüklemesi gerekir. Aşağıdaki satırı içerir:

NSString *path = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"txt"];

Gayet güzel çalışıyor, ancak birim test çerçevesi tarafından çalıştırdığınızda app pathForResource: sıfır, foo.txt bulmak anlamı verir.

foo.txt dahil olduğundan emin yaptıkPaket Kaynaklar Kopyalayınbirim test hedef, neden o dosyayı bulamıyorum yani faz inşa?

CEVAP
10 Aralık 2009, PERŞEMBE


Birim test koşum kodu çalıştırıldığında, birim test paketiDEĞİLana paketi.

Testleri, uygulama çalışmıyor olsa bile, uygulama paketi hala ana paketi. (Muhtemelen, bu yanlış paket aramaya gelen Test ettiğiniz kodu önler.) Eğer birim test paketi için kaynak dosyası eklerseniz, bu nedenle, ana paket ararsanız bulamazsınız. Yukarıdaki satırı değiştirmek için:

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

Sonra da kod birim test sınıfında olan paket arar, ve her şey iyi olacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Mr_BrettHooge

    Mr_BrettHoog

    3 Ocak 2011
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007
  • Viktorija A.

    Viktorija A.

    28 Mart 2009