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

Memperkenalkan PHPUNIT: Bermula dengan TDD dalam PHP

Jennifer Aniston
Lepaskan: 2025-02-09 13:02:15
asal
605 orang telah melayarinya

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):

    cd Code
    git clone https://github.com/php-pds/skeleton converter
    cd converter
    composer require phpunit/phpunit --dev
    rm bin/* src/* docs/* tests/*
    Salin selepas log masuk
    Salin selepas log masuk
  2. phpUnit.xml:

    <?php echo "Hello world";
    Salin selepas log masuk
    Salin selepas log masuk
  3. ujian/autoload.php:

    cd Code
    git clone https://github.com/php-pds/skeleton converter
    cd converter
    composer require phpunit/phpunit --dev
    rm bin/* src/* docs/* tests/*
    Salin selepas log masuk
    Salin selepas log masuk
  4. composer.json (dikemas kini): (ganti nilai templat dengan butiran projek anda)

    <?php echo "Hello world";
    Salin selepas log masuk
    Salin selepas log masuk
  5. Run composer dump-autoload

  6. Ujian pertama (ujian/sitePoint/converter/convertertest.php):

    <?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>
    Salin selepas log masuk
  7. menjalankan ujian () php vendor/bin/phpunit (mengharapkan kegagalan pada mulanya)

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

    <?php
    require_once __DIR__ . '/../vendor/autoload.php';
    Salin selepas log masuk
  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 Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan