Nasıl birim test kurumsal symfony bir proje?

2 Cevap php

Benim iş yerinde büyük bir proje üzerinde çalışıyorum. Biz bu yüzden yaklaşık 200 veritabanı tabloları buna göre, Modeller çok sayıda, Eylemler ve var.

Nasıl bu testleri yazmaya başlamalıdır?

Benim en büyük sorun, büyük kireç çerçeve ile test edebilirsiniz symfony ile vardır. Ama kod çoğu, yazar siler veya veritabanı ile diğer şeyler. Peki nasıl veritabanı ile etkileşim olmadan bir modeli test edebilirsiniz?

Ben fonksiyonların üstlenmeden aracılığıyla, benim kodunda hata ile sorunlar yaşadım çünkü birim testleri yapmak istiyorum ama ben bile nasıl başlayacağınızı bilmiyorsanız. Belgelere örnekler sadece çok küçük bir işlevi kapsamaktadır. Eylem dosya kod 700 hatları üzerinde olduğunda nasıl, görünüyor?

2 Cevap

Büyük soru .. ben şahsen her yerde bu çalıştırmak.

İşte ben bugüne kadar ne gördük bu:

1) Bir dev veritabanı alın .. bir eşya veritabanı üzerinde test YAPMAYIN!

2) Bu basmakalıp gelebilir, ama küçük ve basit başlayabilir.

3) Ben .. saha vb (e-ticaret veritabanı, rehber veritabanı, ne olduğunu biliyorum) ama bir e-ticaret DB demiyorum. Bazı sipariş modelleri oluşturmak ve bunları kaydederek test ederek başlayın. Bu DB kaydeder belki bir test koşum gerçek bir düzen oluşturun. Şimdi hızlı bir şekilde elle şeyler için web checkouts yapıyor daha .. YOL hızlı üzerinde testler 1000 siparişlerini oluşturmak. Maksimum fayda için, size test sırasında kullanabilirsiniz böylece şu anda üzerinde çalıştığımız bazı şey bir model oluşturmak.

4) Şimdi modeli sağlayan çeşitli yöntemler test etmeye başlayabilirsiniz. Yine, şu anda ile / işi düzeltmek için çalışıyoruz ne alakalı olanları sadık. Sadece bazı şeyleri test etmek, her şeyi test hakkında endişe ve size testleri tekrarlayabilirsiniz emin yapmayın.

5) denetleyicileri test etmek gerekiyor? Serin, şimdi bunun gerçek değil becuase, karışıklık hakkında umurumda değil çalışmak için bir model var ... bazı varyasyonlar ihtiyacınız var? Ihtiyaçlarınıza her uyacak şekilde değişik modeller oluşturmak ve daha fazla test suit oluşturmak. Modeller karmaşık olabilir, ancak çeşitli modellerin varyasyonlarını oluşturmak bazı test fonksiyonları yazmak gerekir. Sonra o karşı denetleyicileri çalıştırmak ...

6) kod kapsama uzakta koparma tutun.

UYARI: .. hızla en etkili problem çözücü olacak, ama insanlar o SİZ her şeyi düzeltmek için almak için çalışacağız birim testleri çalışan tek olma konusunda dikkatli olun ...

Tek bir denetleyici eylem 700 hatlar? Test bariz iddiaların başka yollarla kendi kod sorunları açığa bir yolu vardır. Bir şey ne sebeple olursa olsun test etmek zor ise, kodu ile yanlış bir şey var.

Büyük ya da küçük bir proje, test başlarken, odak kod kapsama olmalıdır. (Durum çağrıları sürece) ilk kenar durumlarda çok fazla endişelenmenize gerek yok. Bir projeyi test etmek başlarken onlar en basit olarak ben modelleri ile başlamak istiyorum. Oradan kontrolör test hareket ve nasıl gidiyor bakınız.