Masalah
Untuk meningkatkan kualitas kode saya, saya telah memutuskan untuk mencoba mempelajari cara menguji kode saya menggunakan Pengujian Unit alih-alih solusi pengujian saya yang biasa-biasa saja.
Saya memutuskan untuk menginstal PHPUnit menggunakan komposer untuk perpustakaan pribadi yang memungkinkan saya mencapai fungsi database umum. Awalnya saya tidak memiliki file konfigurasi untuk PHPUnit dan ketika saya menjalankan perintah seperti:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
Harap dicatat bahwa ini adalah perintah terminal, jadi saya tidak menyertakan .php
ekstensi. GeneralStringFunctionsTest yang dirujuk di atas sebenarnya adalah sebuah GeneralStringFunctionsTest.php
file.
Outputnya seperti yang saya harapkan:
Waktu: 31 ms, Memori: 2.75Mb
OK (1 tes, 1 pernyataan)
Saya kemudian mencoba menggunakan file konfigurasi untuk secara otomatis memuat rangkaian pengujian daripada harus mengetikkan file secara manual setiap saat. Saya membuat file bernama phpunit.xml
di direktori root saya, dan memasukkan yang berikut ini ke dalam file: http://pastebin.com/0j0L4WBD :
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Sekarang, ketika saya menjalankan perintah:
phpunit
Saya mendapatkan output berikut:
PHPUnit 4.5.0 oleh Sebastian Bergmann dan kontributor.
Konfigurasi dibaca dari /Users/muyiwa/Projects/DatabaseHelper/phpunit.xml
Waktu: 16 ms, Memori: 1,50Mb
Tidak ada tes yang dijalankan!
Jika bermanfaat, struktur direktori saya adalah sebagai berikut:
src -
Tes direktori tingkat atas (dengan semua kode sumber saya) - Direktori tingkat atas (dengan semua pengujian saya, terstruktur sama dengan folder src saya )
vendor - File pihak ketiga komposer
Saya juga memiliki komposer json dan file kunci, serta file xml phpunit di tingkat atas sebagai file.
Hal-Hal yang Saya Coba
- Mengubah direktori
phpunit.xml
menjaditests/GeneralStringFunctions
- Mengubah direktori
phpunit.xml
menjadi./tests
- Memindahkan
phpunit.xml
file ketests
direktori dan kemudian mengubah direktori menjadi./
bukantests
. - Menambahkan atribut sufiks ke tag direktori di
phpunit.xml
untuk menentukan "Tes" sebagai sufiks eksplisit.
tests/GeneralStringFunctions/GeneralStringFunctionsTest
folder atau nama file?