Rumah >pembangunan bahagian belakang >tutorial php >Memperkenalkan PHPUNIT: Bermula dengan TDD dalam PHP

Memperkenalkan PHPUNIT: Bermula dengan TDD dalam PHP

Jennifer Aniston
Jennifer Anistonasal
2025-02-09 13:02:15601semak imbas

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.

Re-Introducing PHPUnit: Getting Started with TDD in PHP

Kami menganggap kebiasaan dengan PHP berorientasikan objek (Php 7 atau lebih tinggi). Untuk persediaan yang diselaraskan, gunakan Homestead bertambah baik, yang pra-memasang PHP 7 dan memudahkan proses. Sesetengah penggunaan baris arahan terlibat, tetapi kami akan membimbing anda melaluinya.

Konsep Utama:

  • PHPUnit: Rangka kerja ujian untuk PHP yang memudahkan penciptaan dan pelaksanaan ujian, mempromosikan kualiti kod dan pembangunan yang didorong oleh ujian (TDD).
  • Pembangunan yang didorong oleh ujian (TDD): Metodologi di mana ujian ditulis sebelum kod, membimbing pembangunan dan memastikan tingkah laku yang diharapkan. Pernyataan Mengesahkan hasil yang dijangkakan. Persediaan:
  • melibatkan membuat projek dengan komposer, memasang phpunit sebagai kebergantungan pembangunan (
  • ), dan mengkonfigurasi untuk menguruskan suite ujian dan bootstrapping. composer require phpunit/phpunit --dev phpunit.xml Ujian pertama:
  • extend
  • , gunakan pernyataan (, dan lain -lain) untuk menentukan hasil yang diharapkan, memandu pembangunan kod berfungsi. PHPUnitFrameworkTestCase Pembekal data: assertEquals Susun ujian dengan bersih dengan memisahkan data ujian dari logik. Mudah menambah kes ujian baru tanpa mengubah kaedah ujian.
  • Lapangan Kod
  • : Laporan Mengenal pasti kod yang belum diuji, memastikan ujian komprehensif dan ketahanan aplikasi.
  • Pembangunan yang didorong oleh ujian dijelaskan:
TDD melibatkan ujian menulis untuk menentukan bagaimana kod

harus berkelakuan sebelum

menulis kod itu sendiri. Pernyataan (

, , dan lain -lain) Periksa jika kod memenuhi jangkaan. Ujian gagal menunjukkan keperluan untuk perubahan kod. PHPUNIT Gambaran Keseluruhan: 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.

Contoh Aplikasi Contoh: JSON TO PHP Array Converter

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

  1. pengawal depan (index.php dalam penukar/awam):

    <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>
  2. phpUnit.xml:

    <code class="language-php"><?php echo "Hello world";</code>
  3. ujian/autoload.php:

    <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>
  4. composer.json (dikemas kini): (ganti nilai templat dengan butiran projek anda)

    <code class="language-php"><?php echo "Hello world";</code>
  5. Run composer dump-autoload

  6. 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>
  7. menjalankan ujian () php vendor/bin/phpunit (mengharapkan kegagalan pada mulanya)

  8. Melaksanakan kelas penukar (SRC/SITEPOINT/CONVERTER/CONVERTER.PHP):

    <code class="language-php"><?php
    require_once __DIR__ . '/../vendor/autoload.php';</code>
  9. ujian semula. (sekarang harus lulus)

Baki butiran tutorial menambah lebih banyak ujian, menggunakan penyedia data untuk kod bersih, dan menyediakan laporan liputan kod menggunakan XDEBUG. Bahagian akhir termasuk FAQ yang meliputi amalan terbaik TDD dan PHPUNIT. Kod Lengkap boleh didapati di GitHub (pautan yang disediakan dalam teks asal).

Atas ialah kandungan terperinci Memperkenalkan PHPUNIT: Bermula dengan TDD dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Kod PHP pertama andaArtikel seterusnya:Kod PHP pertama anda