2015-11-13 24 views
5

Başarıyla tek tek veya gruplandırılmış birkaç UI testim var. Testlerimi belirli sınıflara ayırdım ve onları bu şekilde çalıştırdım. Karşılaştığım sorun Xcode, UI testlerini alfabetik sırayla yürütüyor ve yazıldığından/görüntülenmemesinden değil. Bununla ilgili nasıl bir fikrin var? Xcode 7 UI Test Sırası

Eğer

+0

Testlerim için birkaç yardımcı işlev yazdım. loginIfNeeded() 'sadece giriş sayfasında bulunan ve daha sonra oturum açan bir etiketi kontrol edin. Benzer 'logoutIfNeeded()', giriş ekranından başlatılması gereken herhangi bir testte kullanılabilir. – JMFR

+0

@JMFR UI Test vakalarını yazmak için yeni. Bana yardım edebilir misiniz yoksa bana yardımcı fonksiyonlar yazabilirim. teşekkürler – Urmi

cevap

7

İyi test paketi belirli bir sıraya göre yürütülmektedir bağımlı olmamalıdır ederiz. Sizinki varsa, bazı test kirliliğiniz olabilir. İlgili testlerin setUp() yöntemine ortak başlatma mantığını (örneğin, kullanıcının oturum açmasını) eklerim. Veya bir yardımcı yöntem oluşturun ve bunları sınıflar arasında paylaşın. Bu, her test için uygulamayı yeniden başlatırken, testlerin sırasını alakasız hale getirmelidir.

+0

Yanıt için teşekkür ederiz. Tüm bunlara yeniyim ve şu anda çok az kod deneyimim var. Blogunuzu buldum ve yardımcı oldu. – Sandmaster

+0

Bu çoğunlukla doğru olsa da, UI snapshotting ve görsel imza almak için UI testleri kullanıyorum, bu yüzden onların sırası hala benim için önemlidir. –

5

XC testi inanılmaz derecede buggy. Bazen rüzgârın yönü veya Dünya'nın rotasyon hızı, rastgele bir başarısızlık olup olmadığını belirler. Bir düzeltme Ben biraz Eğer bu tearDown() fonksiyonu ararsanız bu sinir bozucu konular azaltır bulundu:

XCUIApplication() yayınladığınız uygulamadır
XCUIApplication().terminate() 

.

+2

"İnanılmaz" bir güvensizliktir – CommaToast

+0

Bu güldüm, ama sonra ağladım))) çünkü benim testler tutarsız bir şekilde başarısız oluyor, bu yüzden de hata ayıklamak için zaman alacağından düzgün bir şekilde hata ayıklayamıyorum ..... f % # k –