PHP Academy · Pelajaran

Persediaan PHPUnit dan Ujian Pertama

Pasang PHPUnit melalui Composer dan tulis kelas ujian pertama anda.

Pelajaran 1 daripada 413 langkah

Persediaan PHPUnit dan Ujian Pertama ialah pelajaran PHP Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PHP Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.

Apakah PHPUnit?

PHPUnit ialah rangka kerja ujian unit standard PHP. Ia membolehkan anda menulis ujian automatik yang mengesahkan unit kod secara berasingan.

Memasang PHPUnit

Pasang melalui Composer sebagai kebergantungan pembangunan.

$ composer require --dev phpunit/phpunit "^11.0"

Konfigurasi phpunit.xml

Cipta fail phpunit.xml untuk mengkonfigurasi set ujian.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Unit">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

Menulis Kelas Ujian

Warisi PHPUnit\Framework\TestCase. Setiap kaedah awam yang diawali dengan test ialah ujian.

<?php
use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    public function test_addition(): void
    {
        $calc = new Calculator();
        $this->assertEquals(5, $calc->add(2, 3));
    }
}

Kelas yang Diuji

Kelas Calculator yang sedang diuji:

<?php
class Calculator
{
    public function add(int $a, int $b): int
    {
        return $a + $b;
    }
}

Menjalankan Ujian

Jalankan PHPUnit dari akar projek.

$ vendor/bin/phpunit
...
OK (1 test, 1 assertion)

Konvensyen Penamaan Ujian

Dua gaya: test_method_name() (snake_case dengan awalan ujian) atau gunakan anotasi @test tanpa awalan tersebut.

<?php
/** @test */
public function addition_returns_correct_sum(): void
{
    $this->assertEquals(5, (new Calculator())->add(2, 3));
}

Struktur Direktori

Susun atur biasa: ujian mencerminkan struktur src.

src/Calculator.php       → Calculator
tests/CalculatorTest.php → CalculatorTest

setUp() dan tearDown()

Jalankan kod sebelum/selepas setiap kaedah ujian. Gunakan setUp() untuk mencipta objek yang diuji.

<?php
protected function setUp(): void
{
    $this->calc = new Calculator();
}

public function test_add(): void
{
    $this->assertEquals(7, $this->calc->add(3, 4));
}

setUpBeforeClass() dan tearDownAfterClass()

Jalankan kod sekali sebelum/selepas semua ujian dalam kelas — berguna untuk persediaan yang mahal seperti sambungan pangkalan data.

Liputan Kod

Jana laporan liputan (memerlukan Xdebug atau PCOV):

$ vendor/bin/phpunit --coverage-html coverage/

Ringkasan

Pasang PHPUnit melalui Composer sebagai kebergantungan pembangunan. Cipta subkelas TestCase dengan kaedah test_*(). Jalankan dengan vendor/bin/phpunit. Gunakan setUp() untuk penciptaan objek yang dikongsi.

Semakan Pantas

Kelas asas manakah yang mesti diwarisi oleh kelas ujian PHPUnit?

Percuma untuk bermula

Pelajari PHP dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
49
Pelajaran
195

Soalan Lazim

Adakah pelajaran “Persediaan PHPUnit dan Ujian Pertama” percuma?

Ya — teks penuh “Persediaan PHPUnit dan Ujian Pertama” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PHP Academy, tingkat taraf kepada CoddyKit PRO. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Persediaan PHPUnit dan Ujian Pertama”?

Pasang PHPUnit melalui Composer dan tulis kelas ujian pertama anda. Anda berlatih PHP Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan PHP Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran PHP Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Persediaan PHPUnit dan Ujian Pertama” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Persediaan PHPUnit dan Ujian Pertama
  2. Penegasan dan Kaedah Ujian
  3. Pembekal Data untuk Ujian Berparameter
  4. Meniru Kebergantungan dengan PHPUnit
← Kembali ke PHP Academy