Eğer Symfony için hangi birim test çerçevesi kullanabilirim?

2 Cevap php

Eğer Symfony için hangi birim test çerçevesi kullanabilirim?

Kireç veya PHPUnit? Bunları kullanmanın artıları ve eksileri nelerdir?

2 Cevap

Bence, burada aklıma gelen birkaç şey vardır:

  • PHPUnit is more integrated with other tools, like, for instance,
    • Selenium (PHPUnit sitenizi test etmek için gerçek gerçek tarayıcıları açmak için kullanabilirsiniz)
    • phpUnderControl için sürekli entegrasyon
  • PHPUnit kod kapsama raporlar üretmek için, Xdebug ile iyi çalışır
  • PHPUnit daha yaygın olarak kullanılmaktadır; hangi muhtemelen daha fazla destek demektir

But note I don't work with symfony, nor lime...
Still, I've never heards anyone speak about it, except for those working with symfony -- that not a good thing, for the day you'll have to work with another framework (yes, this happens ^^ )


One thing that's not in PHPUnit :

  • "False" tarayıcı (gerçek bir tarayıcı açmak için Selenyum kullanmadan, uygulamaya HTTP İstekleri yapmak için güçlü olmak)

But some frameworks *(Zend Framework does, with it's Zend_Test component)* integrate with PHPUnit (or use it), while allowing injection of data into the MVC and fetching of the response, without having to issue any HTTP Request.
I don't know if symfony allows that, but that's a nice thing with ZF/PHPUnit ^^


(Yes, not a symfony-specific answer ; but of the things I said must still be valid with that framework)

Kireç bunu kullanmak istiyorum nasıl bağlı olarak iyi ya da kötü bir şey olabilir çok daha basit bir test çerçevesidir.

Symfony kütüphane kendisi kod tabanı test etmek için, kendi test çerçevesi, Lime kullanır. Symfony kitaptan:

It is based on the Test::More Perl library, and is TAP compliant, which means that the result of tests is displayed as specified in the Test Anything Protocol, designed for better readability of test output.

Ben Symfony docs iddia ettiği gibi kireç çerçeve diğer PHP test çerçeveler "daha hafif" olduğu ifadesi için kefil olamaz, ama gerçekten doğru symfony proje yerleşik ve herhangi olmadan symfony komut satırı araçları ile iyi çalışır oluyor ki seversin ek yapılandırma. Özellikle serin olan bir şey symfony içinde kireç testler kendi veritabanı, (her test oturumu sırasında kaybolmasıdır) symfony önbelleği ve ortam değişkenleri vardır sizin "test" ortamında çalıştırmak için ayarlanmış olmasıdır. Eğer (temel birim test karşı, sizin modüller / eylemlere sunucu yanıtı ve html çıkış kontrol) fonksiyonel test yapmak istediğinizde bu kullanışlı geliyor. Bu kadar basit olduğundan ben de o kireç gibi almak ve anlamak için süper kolaydır. Ayrıca YAML yapılandırma dosyası içine testleri koymak yerine elle testleri yazmak için yeteneği var.

Pascal PHPUnit çok daha yaygın olarak kullanılan bu tamamen doğru ve olmayan symfony projelerde kullanmak mümkün olurdu. Bunun için bir eklenti bile var, PHPUnit symfony plugin. Benim en iyi tavsiye sadece sizin symfony uygulama geliştirmek iken sağ basit testleri yazma içine atlamak istiyorsa kireç kullanmak olacaktır. Eğer zaman ve symfony dünyasının dışında bu test becerileri kullanmak, veya symfony koduna önceden varolan PHPUnit testleri getirmek için umut Ama, eğer bu eklenti kontrol ve bir spin vermek için zaman ayırmaya değer olurdu .