Bài viết này là bài đầu tiên trong loạt bài tập trung vào `Unit Testing`, một phương pháp kiểm thử nổi tiếng. Tôi sẽ sử dụng `PHPUnit` làm công cụ kiểm tra chính cho PHP Unit Testing. Khi bạn đã nắm được những điều cơ bản, bắt đầu với PHPUnit không quá khó
PHPUnit là một khung kiểm tra đơn vị cho ngôn ngữ lập trình PHP. Đây là một ví dụ về thiết kế xUnit cho các hệ thống thử nghiệm đơn vị bắt đầu với SUnit và trở nên phổ biến với JUnit
Ngay cả một dự án phát triển phần mềm nhỏ cũng thường mất hàng giờ làm việc chăm chỉ. Trong quá trình phát triển, một số lỗi và sự cố lớn và nhỏ len lỏi trong cấu trúc và mã của ứng dụng. Các nhà phát triển thường cố gắng tìm ra các lỗi trong quá trình phát triển
Vấn đề là không có cách chắc chắn nào để đảm bảo rằng tất cả các lỗi đã được xử lý trong mã cuối cùng
Một khía cạnh quan trọng khác là khả năng xuất hiện thêm các lỗi khi các lỗi hiện có được sửa. Để giải quyết những vấn đề này, kiểm thử và QA là những thành phần không thể thiếu của quy trình phát triển phần mềm
Kiểm tra và QA là các thành phần không thể thiếu của quy trình phát triển phần mềm
Phát triển phần mềm cẩn thận đảm bảo rằng một số phương pháp thử nghiệm và QA được xây dựng trong quá trình phát triển ngay từ đầu. Kết quả của quá trình phát triển như vậy là một mã mạnh mẽ, dễ bảo trì và mở rộng hơn nữa
Bạn cũng có thể thích. Tích hợp liên tục PHP với Travis CI
Kiểm tra đơn vị là gì?
Từ `Unit` dùng để chỉ một khối mã, phương thức hoặc một lớp riêng lẻ hoặc độc lập. Kiểm thử đơn vị là một quy trình kiểm thử phần mềm trong đó các khối mã được kiểm tra để xem liệu kết quả được tạo ra có phù hợp với mong đợi hay không. Các đơn vị được kiểm tra bằng cách viết một trường hợp thử nghiệm duy nhất
Kiểm tra đơn vị nói chung là tự động nhưng có thể được thực hiện thủ công. Tôi đã thiết kế một thuật toán ngắn để xác định trực quan cách hoạt động của bài kiểm tra đơn vị
[email protected]'] ]; } public function testCannotBeCreatedFromInvalidEmailAddress[]: void { $this->expectException[InvalidArgumentException::class]; Email::fromString['invalid']; } public function testCanBeUsedAsString[]: void { $this->assertEquals[ '[email protected]', Email::fromString['[email protected]'] ]; } }
Ở đây tôi đã sử dụng phương thức assertInstanceOf[] báo cáo lỗi được xác định bởi $message nếu $actual không phải là một phiên bản của $expected
Vì vậy, tôi đã chuyển hai đối số, lớp email thực tế và địa chỉ email dự kiến. Thử nghiệm thứ hai sẽ lấy giá trị đầu vào và đưa ra một ngoại lệ không hợp lệ nếu giá trị email không được xác thực. Bài kiểm tra thứ ba lấy giá trị đầu vào và coi nó là một chuỗi
Hãy chạy thử nghiệm trên trình soạn thảo bằng cách chạy lệnh sau
public_html$ composer require --dev phpunit/phpunit ^70
Phần kết luận
Bài viết này giải thích một thiết lập cơ bản giúp bạn bắt đầu với PHPUnit để kiểm tra đơn vị PHP. Tôi muốn đề cập đến một số thay đổi trong phiên bản mới nhất của PHPUnit. Trong các phiên bản trước, lớp mở rộng với `PHPUnit_Framework_TestCase`. Trong phiên bản mới nhất, nó chỉ mở rộng với `TestCase`. Trong phần thứ hai của loạt bài này, tôi sẽ giải thích một số chi tiết về Assertions, nhà cung cấp dữ liệu và các tính năng khác
Nếu có thắc mắc hoặc muốn đóng góp thảo luận, vui lòng để lại bình luận
Q. Làm cách nào để chạy hoặc gỡ lỗi kiểm tra PHPUnit?
Để chạy thử nghiệm đơn vị,
- nhấp vào mũi tên bên cạnh nút Run trên thanh công cụ
- chọn Chạy dưới dạng. Kiểm tra đơn vị PHP
- Từ thanh Menu, chọn Run. Chạy như. Kiểm tra đơn vị PHP
Để gỡ lỗi Trường hợp kiểm tra PHPUnit,
- nhấp vào mũi tên bên cạnh nút gỡ lỗi trên thanh công cụ
- chọn Gỡ lỗi dưới dạng. Kiểm tra đơn vị PHP
Đánh giá của khách hàng tại
“Dịch vụ lưu trữ trên nền tảng đám mây có một trong những dịch vụ khách hàng tốt nhất và tốc độ lưu trữ”
Sanjit C [Nhà phát triển trang web]
Inshal Ali
Inshal là Nhà tiếp thị nội dung tại Cloudways. Với nền tảng về khoa học máy tính, kỹ năng nội dung và rất nhiều sáng tạo, anh ấy đã giúp doanh nghiệp vươn tới bầu trời và vượt xa thông qua nội dung nói ngôn ngữ của khách hàng của họ. Ngoài công việc, bạn sẽ thấy anh ấy chủ yếu trong một số trò chơi trực tuyến hoặc trên sân bóng