2013-06-19 41 views
8

Şu anda php için hangi test çerçevesini kullanmam gerektiği üzerine araştırma yapıyorum. Sahip olduğum iki seçenek PHPUnit ve PHPSpec. PHPUnit'in TDD olduğunu (Test sürüşü geliştirme) ve PHPSpec'in BDD olduğunu (Davranışla ilişkili geliştirme) biliyorum. Ancak, herhangi bir PHPSpec öğreticisinin olmaması ve PHPSpec sitesinde sınırlı dokümantasyon nedeniyle tam bir sonuca ulaşamıyorum. Benim soruma herkese, iki çerçeve arasındaki bazı benzerlikler ve farklılıklar nelerdir? Evet BDD ve TDD büyükler ama diğerleri var mı? Ve benzer gözüküyorlar ama hiç kimse benzerlikleri hakkında ayrıntılı olarak konuşmuyor. Teşekkür ederim.PHPUnit ve PHPSpec Arasındaki Benzerlikler ve Farklılıklar

+0

Örneğin, PHPSpec, MapUnit gibi Mapping'i @dataProvider ile destekliyor mu? – applecrusher

cevap

8

PHPSpec, bir sınama çerçevesi yerine kod tasarımında size yol gösterecek daha özel bir SpecBDD aracıdır. Araçtan ne beklediğinize bağlıdır ve uygun bir TDD/SpecBDD yapmak istiyorsanız, geliştiricilerin okunabilir ve iyi tasarlanmış bir kod yazması için oluşturulduğundan PHPSpec'i kullanmak daha kolaydır.

Unutmayın ki, TDD/SpecBDD tüm kenar durumlarını test etmek veya tüm uygulama-entegrasyon testini yapmakla ilgili değildir. Bu, küçük kod birimleri için teknik özellikleri yazmakla ilgilidir.

Birkaç gün önce üzerinde bir konuşma yaptım, burada slaytları bulabilirsiniz: http://www.slideshare.net/cakper/2013-0613-spug-spec-bdd-in-php Umarım bir karar vermekte fayda vardır.

+2

Slaytlarınızda (slayt 46), şu var: $ this-> liveAndLet() -> shouldReturn ($ die); Bu, phpspec'in, yönteminizin nesne örneğinin proxy'lenmiş bir örneğine aşırı yükleme yöntemini yansıtma kullandığı anlamına mı geliyor? Bu aynı zamanda, sınıflarımda phpspec kütüphane yöntemleri ile aynı yöntemleri isimlendiremediğim anlamına mı geliyor? –