Alat untuk Pengujian Unit di Magento


23

Apa yang Anda gunakan untuk Pengujian Unit di Magento? Atau apa yang Anda ketahui tentang Unit Testing dan Magento? Apakah Anda melakukan TDD atau hanya ingin memiliki cakupan uji unit untuk komponen proyek Anda, Anda memerlukan beberapa alat untuk melakukan ini.

Pendekatan dasar pertama adalah menggunakan phpunit biasa, tetapi ada beberapa hal yang membutuhkan tipuan tambahan untuk membuat Magento "dapat diuji".

Segala sesuatu yang saya kerjakan terkait dengan phpunit:

Apakah ada opsi lain?

Jawaban:


14

Lihat PHPSpec dengan MageSpec jika Anda menginginkan sesuatu yang tidak didasarkan pada PHPUnit, tetapi dengan beberapa Magento Integration. Ini bisa digunakan, tetapi tidak hanya cukup siap untuk prime time. Untuk mengejek PHPSpec 2 menggunakan Prophecy (yang hebat), tetapi tidak suka pengambil sihir dan penyetel sama sekali. Untuk alasan itu lebih baik menggunakan Mockery sebagai gantinya, yang berfungsi dengan baik (dan saya juga sangat menyukainya).

Lalu ada juga Behat dengan BehatMage untuk BDD dengan Magento. Layak dilihat, tetapi gagal misalnya jika Anda ingin menguji tampilan toko yang berbeda pada domain yang berbeda.

Ada juga ekstensi untuk BehatMage yang disebut MageBehat (penamaan mengerikan!), Yang keluar dari hackathon. Ini memberikan banyak tindakan khusus Magento ke BehatMage, tetapi jujur, beberapa solusi yang digunakan lebih merupakan peretasan daripada solusi nyata untuk masalah yang mendasarinya. Masih bisa digunakan.

Saya berharap untuk melihat kedua proyek - MageSpec dan BehatMage - berkembang di masa depan.


Vinai terima kasih atas balasan Anda. Saya tahu tentang BehatMage dan pekerjaan yang dilakukan oleh tim di Inviqa / Session Digital (tidak jelas bagi saya struktur perusahaan mereka) ... Saya hanya mencari hal-hal phpunit, Behat / BehatMage itu tidak begitu menarik bagi saya, saya bermain dengan MageSpec beberapa waktu lalu.
FlorinelChis

Bahasa Inggris bukan bahasa ibu saya, detail yang saya berikan bisa lebih jelas. Saya sedang melakukan riset untuk Kelompok Pengguna London Magento - Rapat Desember.
FlorinelChis


3

Anda harus menggunakan EcomDev PHPUnit .

Saya pribadi percaya bahwa semua pengembang Magento harus berusaha keras untuk solusi pengujian unit yang konsisten. EcomDev menyediakan kerangka kerja yang paling umum digunakan dan paling matang ini sehingga Anda sudah memiliki kumpulan pengembang yang layak dengan pengalaman di dalamnya. Menggunakan satu kerangka kerja juga mengurangi kebutuhan untuk menginstal bajillion kerangka kerja yang berbeda.

EcomDev PHPUnit memang memiliki konvensi aneh menempatkan tes langsung bersama kode produksi Untungnya, ini mudah diatasi dengan memodifikasi beberapa baris kode. EcomDev juga mengambil waktu manis mereka dengan pembaruan (meskipun repo Github mereka menunjukkan tanda-tanda aktivitas sehingga mereka jelas masih hidup).


Jadi, dengan mengatakan semua itu, apakah ada repo di suatu tempat yang memiliki serangkaian tes unit yang ditentukan (menggunakan ecomdev_unittest) yang menguji fungsionalitas inti? (Saya tahu MTAF melakukan ini, tetapi apakah ada unit test yang sudah ditentukan sebelumnya di suatu tempat?)
ProxiBlue

1
@ ProxiBlue Tidak, tidak ada yang saya sadari. Namun itu ide yang cukup bagus untuk proyek komunitas.
Phan Thailand

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.