2016-04-14 22 views
0

Uygulamam için UI Testi yapmaya başladım. Ben WWDC UI Test öğretici gitti ve tüm test için benim uygulama hiyerarşisi içinde derin olabilir belirli ViewController üzerinde test yapmadan önce benim uygulama başlatmak ve kurmak gerekir olduğunu fark ettim.İzolasyonda uygulamada herhangi bir ViewController için UI Testi nasıl yapılır

Uygulamamın her ViewController uygulamasını sınıfın Birim Sınaması yaptığımız gibi ayrı ayrı test etmek istiyorum. Bu, Xcode 7'de tanıtılan UI Testing ile mümkün, bu benim ViewController'ımı bazı sahte verilerle işleyebiliyor ve test edebiliyor.

cevap

1

Bu, ViewController'ımı bazı sahte verilerle işleyebildiğim ve test edebildiğim UI Testi ile mümkündür.

Bu kutudan çıkması mümkün değildir, ancak bunu gerçekleştirmek için uygulamanızda bazı altyapıyı yerleştirebilirsiniz.

İki gereksinimi listeleyebilirsiniz: 1) gezinme hiyerarşisinde büyük olasılıkla görüntü denetleyicilerine erişim sağlayın ve 2) stub (saplama bu durumda doğru terimdir) verilerini onlara verin.

XCUIApplication olanlar, doğrudan uygulama kodu erişemez olarak, geliştiriciler UI testlerinden uygulamaya ilave yapılandırmaları geçmesine izin vermek üzere launchArguments ve launchEnvironment özellikleri sunar.

Başlamadan önce uygulamanızın yapılandırmalarına veya komutlarına geçmek için bunları kullanabilir ve test etmek istediğiniz duruma göre yapılandırmasını sağlayabilirsiniz. Örneğin, uygulama temsilcisine bir yönlendirme sistemi yerleştirebilir ve UI testlerinde istenen görüntü denetleyicisine giden yolu iletebilirsiniz. Bu şekilde, uygulama test için başladığında, verdiğiniz rotayı okuyacak ve görünüm kontrol cihazınızı yükleyecektir.

İhtiyacınız olan verileri iletmek için aynı teknikten faydalanabilirsiniz, böylece görünüm denetleyicisi onunla başlatılır.

Ne yazık ki burada sadece kuram yapıyorum, bu fikre kendimce oynuyorum ama aslında bunu uygulamaya koymadım. Bence böyle bir kurumu yerleştirmek ve bunu esnek hale getirmek, uygulamak için çok fazla konfigürasyon olduğu için belirli bir çaba gerektirecektir.

İlgili konular