การตั้งค่า PHPUnit และการทดสอบแรก
ติดตั้ง PHPUnit ผ่าน Composer และเขียนคลาสการทดสอบแรกของคุณ
การตั้งค่า 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การตั้งค่า PHPUnit และการทดสอบแรก
- การยืนยันผลและเมธอดการทดสอบ
- ผู้จัดหาข้อมูลสำหรับการทดสอบแบบกำหนดพารามิเตอร์
- การจำลองการพึ่งพาด้วย PHPUnit