Memiliki beberapa pernyataan dalam pengujian yang sama tidak masalah, tetapi bila suatu pernyataan gagal, seluruh pengujian dibatalkan dan pernyataan lain dalam pengujian yang sama tidak diuji.
Bergantung pada apa yang Anda uji dan cara Anda mengkodekannya, Anda mungkin ingin membagi beberapa pengujian menjadi beberapa sub pengujian.
OverAssertive adalah ekstensi PHPUnit yang melaporkan langsung di konsol pengujian mana yang memiliki pernyataan "terlalu banyak", dengan "terlalu banyak" yang Anda definisikan, untuk membantu Anda memeriksa dan mungkin memfaktorkan ulang beberapa pengujian.
Aktifkan dengan semua default dengan menambahkan yang berikut ke file phpunit.xml
test suite Anda:
<phpunit bootstrap="vendor/autoload.php"> ... <pendengar> <pendengar kelas="OzhPHPUnitListenerOverAssertiveTestsListener" /> </pendengar> </phpunit>
Jika Anda tidak menggunakan autoloader, Anda juga dapat menentukan lokasi perpustakaan:
<phpunit bootstrap="boostrap.php"> ... <pendengar> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" file="/path/to/OverAssertiveTestsListener.php" /> </pendengar> </phpunit>
Sekarang jalankan rangkaian pengujian Anda seperti biasa. OverAssertive akan melaporkan pengujian asertif di konsol setelah rangkaian selesai.
OverAssertive memiliki dua parameter yang dapat dikonfigurasi:
alertThreshold - Jumlah pernyataan yang akan membuat pengujian menjadi lebih asertif (default: 10 pernyataan)
reportLength - Jumlah tes yang terlalu asertif yang disertakan dalam laporan (default: 10 tes)
Parameter konfigurasi berikut diatur di phpunit.xml
saat menambahkan pendengar:
<phpunit ...><!-- ... konfigurasi suite lainnya di sini ... --><listeners> <pendengar kelas="OzhPHPUnitListenerOverAssertiveTestsListener"> <argumen> <susunan> <element key="alertThreshold"> <bilangan bulat>10</bilangan bulat> </elemen> <elemen kunci="reportLength"> <bilangan bulat>10</bilangan bulat> </elemen> </susunan> </argumen> </pendengar> </pendengar> </phpunit>
Terima kasih banyak kepada phpunit-speedtrap
Lakukan apapun yang kamu mau.