Sorularım çoğunlukla test metodolojisi ile ilgilidir. TDD (Test Driven Development) uygulayan bir kuruluş için çalışıyorum. AngularJS'yi ve dolayısıyla tam test yığınını kullanıyoruz - Jasmine, birim testleri ve e2e testi için İletki için. Son 2 uç testi yeterli mi?
bizim süreç ilk özelliği bizim kullanarak TDD yazmanın başarısız e2e testleri yazma ve başlar bir özellik geliştirirken. Testler sadece kamu yöntemleri için yazılmıştır (kontrolör/direktifler/hizmetler için olsun). Ürün kendi kendine karmaşık bir mantık içermez (istisnaların birkaçı hariç). Geçtiğimiz günlerde, kontrolörler için birim testlerinde herhangi bir nokta bulunmadığı gerçeğini tartışmaya başladık, işlevsellik açığa çıktıklarından,% 100'ü görüşe maruz kalıyor ve yine de e2e testleri kullanılarak test ediliyor. Temel olarak - birim testleri ve e2e testleri üst üste gelir. İlk başta hepimiz kabul ettik, ama sonra bu karar bir Pandora kutusu açtı. Sonuçta, direktifler hakkında aynı şey söylenebilirdi. Öyleyse neden onları test edelim? Ardından servis sorusu ortaya çıktı. Çoğu (% 98) sadece arkadan bir çağrı yapar ve cevabı geri verir. Öyleyse neden httpBackend ile alay etmiyor ve e2e ile test edilen kontrolörleri test ederken hizmetleri test etmiyoruz. Sen drift olsun....
pratikte örtüşen onları rağmen ben, birim testleri ve e2e testleri hem yaparken fayda görüyorum. Temel olarak - anında geri bildirim ve "yürütülebilir dokümantasyon". Ne yapıyorsun? Diğer faydaları görüyor musunuz ve "sıkmak için meyve suyu" - yukarıdaki iki avantajı elde etmek için en basit uygulamalar için üst üste binen testler yazmaya değer mi?
İyi bir kod yazmak bir fikirdir, böylece silebilirsiniz, ancak tasarım kalıpları ve çok daha fazla Üst düzey soru – Shvilam
Merhaba çocuklar hakkında da soru yazabilirsiniz. Endişenizi anladığım kadarıyla, sorum şu: metodoloji ile ilgili ve bu sorular asla tek başına cevaplara sahip değil. Metodoloji iyi tanımlansa bile, herkes bunu farklı şekilde uygular ve benim sorumun konusu, diğerlerinin test metodolojileri ile ilgili uygulamalarını ve deneyimlerini paylaşmalarıdır. Bunu yapmak için tartışma tetiklenmelidir. Bir kez, sonuç, aradığınız bir cevap için yakınsama olabilir. –