Magento'da Birim Sınama Araçları


23

Magento'da Ünite Testi için ne kullanıyorsunuz? Ya da Ünite Testi ve Magento hakkında ne biliyorsunuz? TDD yapsanız veya sadece proje bileşenleriniz için birim test kapsamı almak istiyorsanız, bunu yapmak için bazı araçlara ihtiyacınız var.

İlk temel yaklaşım düz phpunit kullanmak, ancak Magento'yu “test edilebilir” hale getirmek için ek numaralara ihtiyaç duyan şeyler var.

Çalıştığım her şey phpunit ile ilgili:

Başka seçenekler var mı?

Yanıtlar:


14

PHPUnit'e dayanmayan , ancak bazı Magento Entegrasyonuyla bir şeyler istiyorsanız , MageSpec ile PHPSpec'i inceleyin . Kullanılabilir, ancak asal zaman için tamamen hazır değil. PHPSpec 2'yi alay etmek için Kehanet kullanıyor (ki bu harika), ancak sihir alıcıları ve ayarlayıcıları hiç sevmiyor. Bu nedenle, bunun yerine Mockery'yi kullanmak daha iyidir, ki bu iyi sonuç verir (ve ben de çok hoşuma gider ).

Daha sonra Magento'lu BDD için BehatMage ile Behat da var . Bir göz atmaya değer, ancak örneğin farklı alanlarda farklı mağaza görünümlerini test etmek istiyorsanız, başarısız oluyor.

Ayrıca, BehatMage'in bir hackathondan çıkan MageBehat (korkunç adlandırma!) Adlı bir uzantısı da vardır . BehatMage'e pek çok Magento'ya özgü eylem sağlar, ancak dürüst olmak gerekirse, kullanılan geçici çözümlerden bazıları, temel sorunlara yönelik gerçek çözümlerden daha fazla kesmektir. Yine de kullanılabilir.

Her iki projeyi de görmeyi umuyorum - MageSpec ve BehatMage - Gelecekte gelişti.


Cevabınız için teşekkür ederim Vinai. BehatMage'i ve ekibin Inviqa / Session Digital'deki çalışmalarını biliyorum (bana şirket yapıları belli değil) ... Sadece phpunit şeyler arıyordum, Behat / BehatMage bana çekici gelmiyordu. MageSecec bir süre önce.
FlorinelChis

Benim anadilim İngilizce değil, sağladığım detaylar daha net olabilirdi. London Magento Kullanıcı Grubu - December Meetup için biraz araştırma yapıyorum.
FlorinelChis


3

EcomDev PHPUnit ile gitmelisin .

Şahsen, tüm Magento geliştiricilerinin tutarlı bir birim test çözümü için çaba göstermeleri gerektiğine inanıyorum. EcomDev, bu çerçevelerin en sık kullanılan ve en olgun olanıdır, bu nedenle zaten deneyime sahip iyi bir geliştirici havuzuna sahipsiniz. Tek bir çerçeve kullanmak ayrıca, bir bajillion farklı çerçeve kurma ihtiyacını da azaltır.

Bununla birlikte, EcomDev PHPUnit, testleri doğrudan üretim kodunun yanına koymakla ilgili garip bir sözleşmeye sahiptir. Neyse ki, birkaç kod satırı değiştirilerek kolayca çözülebilir. EcomDev ayrıca güncellemelerle de tatlı zaman geçirir (Github repoları aktivite belirtileri gösterse de hala canlılar).


Öyleyse, bunların hepsini söylemek gerekirse, temel işlevselliği test eden bir dizi tanımlı birim testi (ecomdev_unittest kullanarak) olan bir depo var mı? (MTAF'ın bunu yaptığını biliyorum, ama bir yerde önceden tanımlanmış birim testleri var mı?)
ProxiBlue 24/13

1
@ ProxiBlue Hayır, bildiğim hiçbir şey yok. Ancak bu, bir topluluk projesi için oldukça iyi bir fikir.
Tay Phan

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.