Ş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
cevap
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.
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? –
- 1. HTML5 Canvas ve Android Canvas arasındaki benzerlikler
- 2. phpspec
- 3. farklılıklar
- 4. PHPUnit ve Symfony2'nin
- 5. PHPUnit ve DBUnit - başlangıç
- 6. Selenium, PHPUnit ve AttachFile()
- 7. memory_order_seq_cst ve memory_order_acq_rel nasıl farklılıklar gösterir?
- 8. Farklılıklar bewteen maxJsonLength ve MaxJsonDeserializerMembers nelerdir?
- 9. ASP.NET'teki farklılıklar ./,../,~/ belirtebilir misiniz?
- 10. Proxy düzeni ve Bağdaştırıcı modeli arasındaki farklar?
- 11. dtrtrs ve dtrsm arasındaki fark
- 12. Bilgi gizleme ve kapsülleme arasındaki fark nedir?
- 13. Jenkins'deki farklılıklar?
- 14. Baskı ve putStrLn arasındaki fark Haskell
- 15. MSP ve Fabric CA arasındaki fark nedir?
- 16. Kabuk betiklerinde $ @ ve $ * arasındaki fark nedir?
- 17. PHPUnit, arayüzleri alay ve benim kodunda Bazen
- 18. PHPUnit kurulum ve gözyaşı test durumları
- 19. PHPUnit:
- 20. Scalaz'da Task ve IO arasındaki fark nedir?
- 21. ImageMagick ve GraphicsMagick arasındaki fark nedir?
- 22. % 5B% ve% 5B0 arasındaki fark nedir?
- 23. PHPUNIT
- 24. PHPUnit
- 25. PHP'de iconv() ve mb_convert_encoding() arasındaki fark nedir?
- 26. PHPUnit
- 27. Bash kabuğu ve Bash terminali arasındaki fark?
- 28. Numune ve scipy'de koleski arasındaki fark nedir?
- 29. Esnek büyüme ve genişlik arasındaki farklar nelerdir?
- 30. virgülle arasındaki birleşim ve
Örneğin, PHPSpec, MapUnit gibi Mapping'i @dataProvider ile destekliyor mu? – applecrusher