PHP Academy · บทเรียน

การตั้งค่า PHPUnit และการทดสอบแรก

ติดตั้ง PHPUnit ผ่าน Composer และเขียนคลาสการทดสอบแรกของคุณ

บทเรียน 1 จาก 413 ขั้นตอน

การตั้งค่า PHPUnit และการทดสอบแรก เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

PHPUnit คืออะไร

PHPUnit คือเฟรมเวิร์กมาตรฐานสำหรับการทดสอบแบบหน่วยของ PHP ช่วยให้คุณเขียนการทดสอบอัตโนมัติเพื่อตรวจสอบหน่วยย่อยของโค้ดแต่ละส่วนแยกจากกันได้

การติดตั้ง PHPUnit

ติดตั้งผ่าน Composer เป็นแพ็กเกจสำหรับการพัฒนา

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

การกำหนดค่า phpunit.xml

สร้างไฟล์ phpunit.xml เพื่อกำหนดค่าชุดการทดสอบ

<?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>

การเขียนคลาสการทดสอบ

สืบทอดจาก PHPUnit\Framework\TestCase เมธอดสาธารณะแต่ละเมธอดที่มีคำนำหน้าเป็น test จะถือเป็นการทดสอบ

<?php
use PHPUnit\Framework\TestCase;

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

คลาสที่กำลังทดสอบ

คลาส Calculator ที่กำลังถูกทดสอบ:

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

การเรียกใช้การทดสอบ

เรียกใช้ PHPUnit จากไดเรกทอรีรากของโครงการ

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

หลักการตั้งชื่อการทดสอบ

มีสองรูปแบบ: test_method_name() (snake_case ที่มีคำนำหน้าเป็น test) หรือใช้คำอธิบายประกอบ @test โดยไม่ต้องมีคำนำหน้า

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

โครงสร้างไดเรกทอรี

โครงสร้างที่ใช้กันทั่วไป: tests จะจำลองโครงสร้างของ src

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

setUp() และ tearDown()

เรียกใช้โค้ดก่อนหรือหลังเมธอดการทดสอบแต่ละเมธอด ใช้ setUp() เพื่อสร้างออบเจ็กต์ที่กำลังทดสอบ

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

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

setUpBeforeClass() และ tearDownAfterClass()

เรียกใช้โค้ดหนึ่งครั้งก่อนหรือหลังการทดสอบทั้งหมดในคลาส ซึ่งมีประโยชน์สำหรับการเตรียมการที่ใช้ทรัพยากรมาก เช่น การเชื่อมต่อฐานข้อมูล

ความครอบคลุมของโค้ด

สร้างรายงานความครอบคลุมของโค้ด (ต้องใช้ Xdebug หรือ PCOV):

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

สรุป

ติดตั้ง PHPUnit ผ่าน Composer สำหรับการพัฒนา สร้างคลาสย่อยของ TestCase ที่มีเมธอด test_*() เรียกใช้ด้วย vendor/bin/phpunit ใช้ setUp() สำหรับการสร้างออบเจ็กต์ที่ใช้ร่วมกัน

ตรวจสอบความเข้าใจ

คลาสพื้นฐานใดที่คลาสการทดสอบของ PHPUnit ต้องสืบทอด

เริ่มต้นได้ฟรี

เรียนรู้ PHP ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
49
บทเรียน
195

คำถามที่พบบ่อย

บทเรียน “การตั้งค่า PHPUnit และการทดสอบแรก” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตั้งค่า PHPUnit และการทดสอบแรก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่า PHPUnit และการทดสอบแรก”

ติดตั้ง PHPUnit ผ่าน Composer และเขียนคลาสการทดสอบแรกของคุณ คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การตั้งค่า PHPUnit และการทดสอบแรก” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การตั้งค่า PHPUnit และการทดสอบแรก
  2. การยืนยันผลและเมธอดการทดสอบ
  3. ผู้จัดหาข้อมูลสำหรับการทดสอบแบบกำหนดพารามิเตอร์
  4. การจำลองการพึ่งพาด้วย PHPUnit
← กลับไปที่ PHP Academy