Saya bertanya-tanya apakah ada orang yang memiliki pengalaman dalam kedua hal ini dapat menjelaskan perbedaan yang signifikan antara keduanya jika ada?
Adakah kekuatan khusus dari masing-masing yang membuatnya cocok untuk kasus tertentu?
Saya bertanya-tanya apakah ada orang yang memiliki pengalaman dalam kedua hal ini dapat menjelaskan perbedaan yang signifikan antara keduanya jika ada?
Adakah kekuatan khusus dari masing-masing yang membuatnya cocok untuk kasus tertentu?
Jawaban:
Pertanyaan ini cukup tanggal tetapi karena masih mendapatkan lalu lintas dan jawaban saya meskipun saya menyatakan maksud saya di sini lagi jadi saya sudah melakukannya pada beberapa pertanyaan (baru) lainnya.
Saya benar-benar bingung bahwa SimpleTest masih dianggap sebagai alternatif untuk phpunit. Mungkin saya hanya salah informasi tetapi sejauh yang saya lihat:
web interface to phpunit tests
.Saya belum melihat argumen yang mendukung SimpleTest. Ini bahkan tidak lebih mudah untuk menginstal karena PHPUnit tersedia melalui pir:
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
dan "tes pertama" terlihat hampir sama.
Seperti PHPUnit 3.7
itu bahkan lebih mudah untuk menginstalnya hanya dengan menggunakanPHAR Archive
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar
atau untuk windows cukup mengunduh phar dan menjalankan:
php phpunit-.phar
atau ketika menggunakan komposer yang didukung, instal cara-cara seperti
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
ke komposer Anda. json.
Untuk semua yang ingin Anda uji PHPUnit akan memiliki solusi dan Anda akan dapat menemukan bantuan di mana saja (SO, #phpunit irc channel di freenode, hampir semua pengembang php;))
Harap perbaiki saya jika saya telah menyatakan sesuatu yang salah atau lupa sesuatu :)
Video: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/
Slides: http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011
Itu menyebutkan hal-hal seperti Atoum yang menyebut dirinya: "Kerangka kerja pengujian unit sederhana, modern dan intuitif untuk PHP!"
Saya awalnya menulis jawaban ini Januari 2011 di mana saya tidak memiliki afiliasi dengan proyek Pengujian PHP. Sejak itu saya menjadi kontributor untuk PHPUnit.
include
menyimpan file .PHP SimpleTest (seperti yang telah dijelaskan oleh orang lain.) Untuk programmer profesional membangun lingkungan pengujian mereka sendiri PHPUnit terdengar sulit dikalahkan tetapi jika mengintegrasikan sistem pengujian ke aplikasi open-source berbasis PHP di mana "pengembang" untuk aplikasi mungkin yang terbaik (apa yang saya sebut) "programmer kerja" maka kesederhanaan SimpleTest memiliki daya tarik yang nyata, bagi saya. FWIW.
Saya lebih suka PHPUnit sekarang, tetapi ketika saya mulai saya menggunakan SimpleTest karena saya tidak selalu memiliki akses ke baris perintah. SimpleTest bagus, tetapi satu-satunya hal yang benar-benar dimiliki lebih dari PHPUnit, menurut pendapat saya, adalah pelari web.
Alasan saya menyukai PHPUnit adalah karena ia terintegrasi dengan alat pengembang PHP lainnya seperti phing (seperti halnya SimpleTest), phpUnderControl , dan Xinc . Pada versi 3.0 memiliki dukungan mengejek , sedang dikembangkan secara aktif, dan dokumentasi sangat baik.
Sungguh satu-satunya cara untuk menjawab pertanyaan ini untuk diri sendiri adalah dengan mencoba keduanya untuk sementara waktu, dan melihat mana yang lebih sesuai dengan gaya Anda.
EDIT: Phing sekarang terintegrasi dengan SimpleTest juga.
Namun, saya dapat dengan mudah memahami cara menginstal SimpleTest.
(Sejauh yang saya ingat instruksi untuk PHPUnit mengatakan sesuatu di sepanjang baris "instal melalui PEAR dan kami tidak akan memberikan instruksi tentang cara melakukannya dengan cara lain") lihat:
Untuk SimpleTest , cukup unduh dan arahkan dari kode Anda.
Jadi Simpletest menang untukku.
Baphled memiliki artikel yang bagus tentang SimpleTest vs PHPUnit3 .
Setengah dari poin yang disebutkan dalam jawaban yang diterima sama sekali tidak benar:
SimpleTest punya
Kelemahan:
Saya menemukan SimpleTest bahkan lebih mudah daripada mengatur PHPUnit. Ekstrak saja dan Anda siap melakukannya. Manfaatnya adalah jika Anda bekerja di lebih dari satu mesin, karena Anda dapat menyimpan keseluruhan kerangka pengujian dengan cara yang sama seperti kode sumber Anda, dan dengan demikian tahu bahwa Anda menggunakan kode kerangka kerja yang sama. Apalagi jika Anda memodifikasinya dengan cara apa pun.
Jadi, saya akan mengatakan bahwa kekuatan SimpleTest adalah bobotnya yang sangat ringan dan portabel.
SimpleTest juga dikirimkan dengan GUI HTML yang sangat sederhana, yang cukup mudah diperluas jika Anda mau. Sejauh yang saya tahu, PHPUnit tidak termasuk GUI HTML, tetapi ada GUI: tersedia untuk diunduh, seperti Cool .
Yah saya membuat pelari ujian UI berbasis web phpUnit dan membuatnya tersedia di sourceforge. Menggunakan ajax dan memiliki antarmuka yang cukup keren juga jika Anda ingin mencobanya, periksa di sourceforge. Nama proyeknya adalah phpunitwebui dan situs webnya adalah http://phpunitwebui.sourceforge.net/
Seperti yang telah ditunjukkan, sebagian besar merupakan pilihan preferensi, karena keduanya akan menjalankan tes yang Anda tulis untuk itu dan melaporkan hasilnya.
UI web Simpletest sangat berguna, tetapi terkadang juga menjadi rumit. Dalam proyek saya saat ini, saya harus memasukkan lebih banyak pekerjaan ke dalam sistem untuk membuat aplikasi saya (API) berfungsi dengan antarmuka web (mengatur apache dengan benar, menyalin file ke root public_html, dll.) Daripada seharusnya untuk hanya menjalankan phpunit dari ruang kerja gerhana. Karena itu saya memilih PHPUnit. Juga, penggunaan PEAR adalah nilai tambah yang besar karena Anda tidak perlu melacak pembaruan secara manual. Cukup jalankan pear upgrade
sesekali dan PHPUnit akan terus diperbarui.
Ini dari sudut pandang pengembang PHP yang sangat kasual:
Butuh waktu dua hari untuk memahami PHPUnit, kebanyakan mencoba untuk debug di bawah Eclipse yang akhirnya saya menyerah.
Butuh waktu dua jam untuk menyiapkan Simpletest termasuk debug di bawah Eclipse.
Mungkin saya akan menemukan kekurangan Simpletest di masa depan tetapi sejauh ini tidak baik apa yang saya butuhkan: TestClasses, benda tiruan, uji-kode debugging, dan antarmuka web untuk snapshot cepat situasi.
Sekali lagi: Ini dari sudut pandang pengguna PHP yang sangat kasual (bahkan pengembang :-)
Saya belum memeriksa Tes Sederhana untuk sementara waktu, terakhir kali memiliki plugin gerhana, yang merupakan faktor utama bagi saya, tetapi belum diperbarui untuk waktu yang lama. Sebastian Bergmann masih sangat aktif mengerjakan PHPUnit, tetapi masih kurang memiliki plugin yang bagus untuk gerhana - tetapi itu termasuk untuk Zend Studio yang baru.
Pertanyaan ini sudah lama, tetapi saya ingin menambahkan pengalaman saya: PHPUnit tampaknya menjadi standar sekarang, tetapi jika Anda bekerja dengan sistem lama yang menggunakan banyak dan banyak variabel global, Anda mungkin akan terjebak saat memulai. Sepertinya tidak ada cara yang baik untuk melakukan tes dengan vars global di PHPUnit, Anda tampaknya harus mengatur variabel Anda melalui $ GLOBAL yang TIDAK BAIK jika Anda memiliki banyak file pengaturan variabel global di mana-mana. OK, beberapa mungkin mengatakan bahwa masalahnya ada dalam sistem warisan tetapi itu tidak berarti kita tidak dapat melakukan tes pada sistem tersebut. Dengan SimpleTest hal seperti itu sederhana. Saya kira jika PHPUnit memungkinkan kita untuk memasukkan file secara global, tidak dalam lingkup kelas / fungsi maka itu tidak akan terlalu menjadi masalah juga.
Solusi lain yang menjanjikan adalah http://www.enhance-php.com , terlihat bagus :)
<phpunit backupGlobals="false">
dalam config XML dan tidak pernah punya masalah dengan tes global ...
global $xxx
dan semua kombinasinya, sebelum mencoba --no-globals-backup
dan tiba-tiba melihat semua bekerja seperti yang diharapkan. : D
ketika ada ribuan fungsi untuk diuji sekaligus, phpunit adalah cara untuk pergi, tes sederhana gagal karena berbasis web.
Saya masih menggunakan web sederhana untuk uji skala kecil.
Tapi keduanya bagus