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 .phpekstensi. GeneralStringFunctionsTest yang dirujuk di atas sebenarnya adalah sebuah GeneralStringFunctionsTest.phpfile.
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.xmldi 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.xmlmenjaditests/GeneralStringFunctions - Mengubah direktori
phpunit.xmlmenjadi./tests - Memindahkan
phpunit.xmlfile ketestsdirektori dan kemudian mengubah direktori menjadi./bukantests. - Menambahkan atribut sufiks ke tag direktori di
phpunit.xmluntuk menentukan "Tes" sebagai sufiks eksplisit.
tests/GeneralStringFunctions/GeneralStringFunctionsTestfolder atau nama file?