Rumah >pembangunan bahagian belakang >tutorial php >Memperkenalkan PHPUNIT: Bermula dengan TDD dalam PHP
Artikel ini memberikan pengenalan moden kepada PHPUnit untuk persekitaran pembangunan PHP kontemporari. Kami akan membina alat baris arahan mudah yang menukarkan JSON ke Array PHP, menunjukkan konsep PHPUnit utama di sepanjang jalan.
Konsep Utama:
composer require phpunit/phpunit --dev
phpunit.xml
Ujian pertama: PHPUnitFrameworkTestCase
Pembekal data: assertEquals
Susun ujian dengan bersih dengan memisahkan data ujian dari logik. Mudah menambah kes ujian baru tanpa mengubah kaedah ujian. harus berkelakuan sebelum
menulis kod itu sendiri. Pernyataan (, assertEquals
assertTrue
PHPUnit menyediakan alat (kelas dan executable) untuk memudahkan penulisan dan analisis ujian. Ia menghasilkan laporan yang menunjukkan kualiti kod, liputan, dan banyak lagi.
kami akan membuat alat baris arahan untuk menukar fail JSON ke Array PHP. Anggapkan persekitaran PHP 7 dengan komposer. Jika menggunakan Homestead bertambah baik,
ke VM (
Persediaan Projek:
ssh
vagrant ssh
<code class="language-bash">cd Code git clone https://github.com/php-pds/skeleton converter cd converter composer require phpunit/phpunit --dev rm bin/* src/* docs/* tests/*</code>
<code class="language-php"><?php echo "Hello world";</code>
<code class="language-bash">cd Code git clone https://github.com/php-pds/skeleton converter cd converter composer require phpunit/phpunit --dev rm bin/* src/* docs/* tests/*</code>
composer.json (dikemas kini):
<code class="language-php"><?php echo "Hello world";</code>
Run composer dump-autoload
Ujian pertama (ujian/sitePoint/converter/convertertest.php):
<code class="language-xml"><?xml version="1.0" encoding="UTF-8"?> <phpunit bootstrap="tests/autoload.php"> <testsuites> <testsuite name="converter"> <directory suffix="Test.php">tests</directory> </testsuite> </testsuites> </phpunit></code>
menjalankan ujian () php vendor/bin/phpunit
(mengharapkan kegagalan pada mulanya)
Melaksanakan kelas penukar (SRC/SITEPOINT/CONVERTER/CONVERTER.PHP):
<code class="language-php"><?php require_once __DIR__ . '/../vendor/autoload.php';</code>
ujian semula. (sekarang harus lulus)
Atas ialah kandungan terperinci Memperkenalkan PHPUNIT: Bermula dengan TDD dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!