Bukankah lebih bagus jika pengujian PHPUnit Anda dijalankan ulang secara otomatis setiap kali Anda mengubah beberapa kode? Paket ini dapat melakukan hal itu.
Dengan paket terinstal, Anda dapat melakukan ini:
phpunit-watcher watch
Berikut tampilannya:
Ini akan menjalankan tes dan menjalankannya kembali setiap kali file di direktori app
, src
atau tests
diubah.
Ingin menyampaikan beberapa argumen ke PHPUnit? Tidak masalah, cukup tempelkan pada:
phpunit-watcher watch --filter=it_can_run_a_single_test
Dalam ceramahnya yang luar biasa di Laracon EU 2017, Amo Chohan menunjukkan cara kerja pengamat phpunit kami.
Kami menginvestasikan banyak sumber daya untuk menciptakan paket sumber terbuka terbaik di kelasnya. Anda dapat mendukung kami dengan membeli salah satu produk berbayar kami.
Kami sangat menghargai Anda mengirimi kami kartu pos dari kota asal Anda, yang menyebutkan paket kami mana yang Anda gunakan. Anda akan menemukan alamat kami di halaman kontak kami. Kami mempublikasikan semua kartu pos yang diterima di dinding kartu pos virtual kami.
Anda dapat menginstal paket ini secara global seperti ini
composer global require spatie/phpunit-watcher
Setelah itu phpunit-watcher watch
dapat dijalankan di direktori mana pun di sistem Anda.
Alternatifnya, Anda dapat menginstal paket secara lokal sebagai ketergantungan dev pada proyek Anda
composer require spatie/phpunit-watcher --dev
Diinstal secara lokal Anda dapat menjalankannya dengan vendor/bin/phpunit-watcher watch
Semua contoh mengasumsikan Anda telah menginstal paket secara global. Jika Anda memilih instalasi lokal, tambahkan vendor/bin/
di mana pun phpunit-watcher
disebutkan.
Anda dapat memulai pengamat dengan:
phpunit-watcher watch
Ini akan menjalankan tes dan menjalankannya kembali setiap kali file di direktori src
atau tests
diubah.
Ingin menyampaikan beberapa argumen ke PHPUnit? Tidak masalah, cukup tempelkan pada:
phpunit-watcher watch --filter=it_can_run_a_single_test
Saat menjalankan phpunit-watcher
dari skrip Komposer, Anda mungkin perlu mengalihkan input agar perintah interaktif dapat berfungsi dan menonaktifkan batas waktu default:
{
"scripts" : {
"test:watch" : [
" Composer \ Config::disableProcessTimeout " ,
" phpunit-watcher watch < /dev/tty "
]
}
}
Di Windows, Saat ini, TTY tidak didukung, sehingga interaksi apa pun telah dinonaktifkan. Saat mengamati perubahan berfungsi, argumen apa pun untuk PHPUnit harus diberikan saat pertama kali memanggil phpunit-watcher
.
Aspek tertentu dari perilaku alat dapat dimodifikasi. File untuk opsi mungkin diberi nama .phpunit-watcher.yml
, phpunit-watcher.yml
atau phpunit-watcher.yml.dist
. Alat ini akan mencari file dalam urutan itu.
Jika file konfigurasi tidak ada di direktori proyek, alat akan memeriksa apakah ada file di salah satu direktori induk dari direktori proyek.
Berikut beberapa contoh konten. Baca terus untuk penjelasan lebih rinci tentang semua opsi.
watch :
directories :
- src
- tests
fileMask : ' *.php '
notifications :
passingTests : false
failingTests : false
phpunit :
binaryPath : vendor/bin/phpunit
arguments : ' --stop-on-failure '
timeout : 180
Anda dapat menyesuaikan direktori yang sedang diawasi dengan membuat file bernama .phpunit-watcher.yml
di direktori proyek Anda. Berikut beberapa contoh konten:
watch :
directories :
- src
- tests
exclude :
- lib
fileMask : ' *.php '
ignoreDotFiles : true
ignoreVCS : true
ignoreVCSIgnored : false
Lihat dokumentasi Finder untuk detail selengkapnya.
Jika Anda mengalami penundaan kinerja dengan repositori besar, coba tambahkan entri exclude
untuk subdirektori besar mana pun yang tidak perlu Anda perhatikan. Mengaktifkan opsi ignore...
juga dapat membantu. Penting juga untuk memastikan Anda juga menggunakan file mask '*.php'
.
Secara default, alat ini akan menampilkan pemberitahuan desktop setiap kali pengujian berhasil atau gagal. Jika Anda ingin menonaktifkan notifikasi desktop tertentu, perbarui .phpunit-watcher.yml
dengan menambahkan kunci notifications
.
notifications :
passingTests : false
failingTests : false
Secara default, alat ini akan menampilkan bantuan untuk tindakan keyboard setelah setiap kali dijalankan. Anda dapat menyembunyikan pesan bantuan ini dengan menambahkan kunci hideManual
di .phpunit-watcher.yml
.
hideManual : true
Secara default alat ini menggunakan vendor/bin/phpunit
sebagai file biner PHPUnit default, namun mungkin berguna untuk dapat menyesuaikan nilai ini bagi orang yang memiliki file biner di lokasi berbeda.
Anda dapat menentukannya secara spesifik di file konfigurasi .phpunit-watcher.yml
. Berikut ini contohnya:
phpunit :
binaryPath : ./vendor/phpunit/phpunit/phpunit
Jika Anda ingin meneruskan argumen yang sama ke PHPUnit setiap kali pengamat dimulai, Anda dapat menentukan argumen tersebut secara spesifik di file konfigurasi .phpunit-watcher.yml
. Berikut ini contohnya:
phpunit :
arguments : ' --stop-on-failure '
Saat memulai alat dengan beberapa argumen (misalnya phpunit-watcher watch --filter=my_favourite_test
) argumen tersebut akan digunakan alih-alih yang ditentukan dalam file konfigurasi.
Silakan lihat CHANGELOG untuk informasi lebih lanjut tentang apa yang berubah baru-baru ini.
composer test
Silakan lihat KONTRIBUSI untuk rinciannya.
Jika Anda menemukan bug terkait keamanan, silakan kirim email ke [email protected] alih-alih menggunakan pelacak masalah.
Anda bebas menggunakan paket ini (berlisensi MIT), namun jika Anda sering menggunakannya, kami sangat menghargai Anda mengirimi kami kartu pos dari kota asal Anda, yang menyebutkan paket kami mana yang Anda gunakan.
Alamat kami adalah: Spatie, Kruikstraat 22, 2018 Antwerp, Belgia.
Kami mempublikasikan semua kartu pos yang diterima di situs web perusahaan kami.
Kami mulai membuat paket ini setelah membaca artikel luar biasa dari Christoper Pitt ini
Perintah interaktif terinspirasi oleh Jest.
Lisensi MIT (MIT). Silakan lihat File Lisensi untuk informasi lebih lanjut.