Birim testleri, en azından bir web uygulama geliştirme açısından, gerçekten arayüzü tasarımı örtemez. Ne ünite testleri can ile size yardımcı etrafında asılı olan tüm denetleyicisi yöntemleri ve / veya herhangi bir tekil / küresel fonksiyonların giriş / çıkış test etmektir. Form doğrulama üzerinde birim test kapsama almak istiyorsanız Yani, sizin uygulaması UI doğrulama işlevi bağımsız test edebilirsiniz şekilde yapılandırılmıştır emin olun.
class SomeController extends ... {
... function isAPhoneNumber($string){
if(...) {
return true;
}
else (...) {
return false;
}
}
}
Bu denenmemiş bu yöntemle TO değerini alır tüm kodu kalkıyor. Bu test gördüm tek etkili yol Selenium gibi tarayıcı uzaktan kumanda ile doğrudan UI test etmektir. PHPUnit testing framework sizin diğer birim testleri gibi aynı test atlet kullanmak anlamına gelir selenyumun PHP sürücüsünü kullanarak için kanca vardır.
Sen% 100 masum bir değişiklik selenyum testleri Hork olmayacak emin olmak için asla konum, ama bu en aza indirmek için geliştirme sırasında atabileceğiniz adımlar vardır. Selenyum various different ways için "hedef" bir öğesi üzerine tıklayın ya da sen mümkün olduğunca spesifik hedefleme kullanmak istiyorsanız içeri girin, böylece vermeye çalışacağız sahip tüm (X) HTML benzersiz bir kimliktir eleman düğümleri . Bu selenyum olursa olsun bir sayfada biter nerede tıklayın bir bağlantı sağlar.
Benzersiz bir kimliği mümkün olmadığı durumlarda, benzersiz bir tanımlayıcı olan bazı HTML elemanı ile ortak öğeleri sarmak için deneyin ve sonra kimliği ile div bulunuyor kayıdı "" metin içeren bağlantıyı tıklayın "demek için yeteneklerini tareting selenyumun XPath'i kullanabilirsiniz "foo", ya da "foo" kimliği ile div üçüncü bağlantıyı tıklayın.
Yukarıda öğeleri bariz değilse, do not Selenyum IDE (veya diğer kaydediciler) bulacaktır hedefleme seçimlerine güveniyor. Onların amacı tam bu sayfadaki testi çalışan olarak size çok kırılgan xpath verebilir aynı sonuçları verecektir sağlamaktır. Her zaman kayıt testleri gözden ve fix-up çaput hedefleme.
Burada kolay bir cevabı vardır. Orada olsaydı, web uygulamaları çok daha az adamcağız olacaktır.