Skip to content

Blog Công Nghệ

MENUMENU
  • Trang chủ
  • Giới Thiệu
  • Lập Trình
    • Lập Trình Website
      • Laravel
        • Phân Tích Dự Án
      • PHP
      • SQL
      • HTML
      • CSS
      • Javascipt
      • My Project
      • Wordpress
    • Luyện Skill
    • Lập trình winform
    • CSDL
    • Lập Trình Android
    • Trí tuệ nhân tạo
    • Khai Khoáng Dữ Liệu
    • Arduino
    • Khác
    • Đồ án
  • Phần Mềm
    • Powerpoint
    • Tool
  • Cuộc sống và Giải trí
    • Hợp âm
    • web5ngay - youtube
    • Công Giáo
    • Kỹ Năng Sống
    • Street Workout
  • Danh sách bài viết
  • Guide line
    • Guild line phỏng vấn
    • Guide lines Laravel
    • Guide line Module Frontend
  • Tóm tắt sách
  • Fanpage

Blog Công Nghệ

Nơi chia sẻ kiến thức

Unit Test trong PHP – Công cụ tuyệt vời

13 Tháng Hai, 2021 by admin
Lượt xem: 78

Unit Test là gì?

Unit Test là một công cụ của PHP giúp chúng ta có thể kiểm tra được như các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method). Việc kiểm tra này được thực hiện bằng các mã lệnh. Unit Test là cách test khoa học hơn, tính toán, dự phòng và có khả năng lưu kết quả test sau này, có thể giúp các bạn sinh viên làm bằng chứng đã test phần mềm cho các giảng viên un hihi.

Cài đặt và cấu hình Unit Test

Cài đặt thông qua composer là cách đơn giản nhất, bạn sử dụng lệnh: composer require phpunit/phpunit

Khi bạn cài xong thì nháy chuột phải đồng thời giữ phím shift tại thư mục gốc và chọn open command windows here hoặc open powershell here. Sau đó gõ ./vendor/bin/phpunit nếu sẽ được như hình dưới đây là thành công nha!

Sau đó bạn được 1 thư mục vendor, 1 file composer.json và 1 file composer.lock. Việc tiếp theo là bạn tạo hai thư mục: src và test. Thư mục src sẽ có namespace là App, còn test sẽ có namespace là Tests. Cấu hình 2 namespace trên và đường dẫn chạy file test vào file phpunit.xml cùng cấp với thư mục vendor.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true">
    <testsuites>
        <testsuite name="Application Test Suite">
            <directory>./test/</directory>
        </testsuite>
    </testsuites>
</phpunit>

Thực thi Unit Test

Ví dụ test bên dưới là đếm xem chuỗi “Do Trong Hao” có trả về 3 kí tự không.

file src.wordcount.php
<?php
namespace App;

class WordCount
{
	public function wordcount($sentence)
	{
		return count(split(' ', $sentence));
	}
}
?>
file test.wordcountTest.php
<?php
namespace Tests;

use PHPUnit\Framework\TestCase;
use App\WordCount;
class wordcountTests extends TestCase
{
	/** @test */
	public function testCountWord()
	{
		$wc = new WordCount();
		$text = "Do Trong Hao";
		$wordCount = $wc->wordcount($text);
		$this->assertEquals(3, $wordCount);
	}

	public function testCountWordHaveSpace()
	{
		$wc = new WordCount();
		$text = "Do Trong Hao ";
		$wordCount = $wc->wordcount($text);
		$this->assertEquals(3, $wordCount);
	}
}
?>

Để chạy thì nháy chuột phải đồng thời giữ phím shift tại thư mục gốc và chọn open command windows here hoặc open powershell here. Sau đó gõ ./vendor/bin/phpunit

Như vậy là xong rồi. Code ở trên chạy sẽ lỗi ở test thứ hai do mong đợi là 3 từ nhưng hàm trả về 4 từ. Nếu test đúng hết bạn sẽ có thấy được từ OK nha!.

Lưu ý khi sử dụng PHPUnit:

  1. Khi đặt tên file phải kèm theo từ Test đằng sau. Ví dụ: wordcountTest.php
  2. Tên hàm phải có test ở đầu. Ví dụ: testCountWord
  3. Nên đặt tên lớp trùng tên file.

Các bạn có thể tham khảo thêm tại đây.

No related posts.

Post navigation

Previous Post:

OOP trong PHP

Next Post:

Khoai lang thang mang lại niềm tự hào dân miền tây

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Ẩn sidebar

Tìm kiếm

Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Blog Công Nghệ

Bài viết mới

  • Master typescript
  • Sendmail trong Laravel sử dụng dịch vụ SES, SQS của Amazon
  • Install SSL in Nginx Ubuntu
  • Docker study
  • Bảo vệ: Hướng dẫn code bot Telegram easy game

Lượng truy cập

0074453
Visit Today : 49
Visit Yesterday : 178
This Month : 724
Who's Online : 5
© 2025 Blog Công Nghệ | WordPress Theme by Superbthemes