Phpunit là gì

  -  

Giới thiệu

Biết rằng Unit Test đặc biệt quan trọng và đưa về các lợi ích là tuy nhiên việc vận dụng, thực hiện như thế nào mang đến đúng với công dụng là một trong điều rất khó.quý khách hàng sẽ xem: Phpunit là gì

Bài viết này là bài xích bài bác thứ nhất trong loạt bài bác hướng dẫn thực hiện Unit Test trong PHPhường, được dịch tự blog của tác giả Juan Treminio. Đây có lẽ là tutorial cụ thể tuyệt nhất nhưng mà tôi phát âm được.Bài dịch tất cả một số trong những update về version của PHPhường và PHPUnit so với blog của người sáng tác. Dưới đấy là link mang đến các phần không giống của tutorial (vẫn update links khi viết xong):

PHP Unit Test 601: Mock Methods và Constructor Overriding

Loạt bài bác này đã ra mắt cho chính mình những quan niệm cơ bạn dạng về testing. Nó sẽ cho chính mình biết do sao vấn đề sử dụng static là ko tốt, vì sao Dependency Injection tuyệt vời, sự khác biệt thân moông chồng và stub với có tác dụng cầm làm sao nhằm yêu thương mẫu thanh red color, xanh ấy.

Bạn đang xem: Phpunit là gì

Tôi cũng trở thành nói một chút cho Test-Driven Development (TDD) tuy thế sẽ không triệu tập những vào nó vày tôi cho là để code của doanh nghiệp trsống bắt buộc testable với làm sao nhằm test nó một phương pháp đúng mực đã là 1 trong thử thách đủ béo rất cần phải học trước tiên, nhưng không cần phải quá quan tâm mang lại một quy trình trở nên tân tiến hoàn toàn không giống.

Bài viết sẽ không nói các về bài toán tại sao bạn nên viết test, tại sao testing là quan trọng cùng đều ích lợi của testing. Nếu bạn có nhu cầu được thông óc về những điều ấy, tôi khuyên chúng ta nên hiểu qua cuốn Real-World Solutions for Developing High-Quality PHP Frameworks and Applications của Sebastian Bergmann với lép thăm blog của đồng bọn tôi Chris Hartjes, The Grumpy Programmer"s blog, tín đồ mà đang la hét vào cộng đồng PHPhường. trong vô số nhiều năm rằng bọn họ cần viết kiểm tra.Dường như, bên trên timhome.vn cũng đã có không ít bài viết bàn về Unit Test, các bạn vô cùng yêu cầu đọc qua:

Trước khi bắt đầu

Bài viết giả sử chúng ta vẫn cài đặt PHP.. Tôi siêu khuim bạn nên áp dụng một thiết bị ảo giành riêng cho môi trường thiên nhiên trở nên tân tiến vắt bởi thiết lập cấu hình nó ngay trên hệ điều hành và quản lý của doanh nghiệp. Quý khách hàng có thể hiểu qua bài viết Setting Up a Debian VM, Step by Step, hướng dẫn từng bước áp dụng Virtual Box để tùy chỉnh thiết lập PHP.. với web hệ thống bên trên Debian, hoặc tham khảo những bài viết trên timhome.vn về sử dụng Docker nhằm chế tác môi trường xung quanh cải tiến và phát triển.

Chúng ta cũng trở nên áp dụng loại lệnh để chạy PHPUnit... Nếu bạn đang thân quen với Việc làm cho gần như vật dụng trên bối cảnh GUI, thì đó cũng là thời gian cho bạn làm cho quen thuộc với Terminal.

Cài đặt PHPUNIT

PHPUnit 6.2 đề nghị PHPhường 7 cùng các tlỗi viện dom, json cùng mbstring, thường đã có thiết đặt khoác định Lúc thiết lập PHP.. Kiểm tra bằng cách:

php -r "print_r(get_loaded_extensions());"Nếu chưa tồn tại thì cài đặt cung cấp, vd đối với Ubuntu ^16.04:

Cách đơn giản dễ dàng nhất là setup thông qua Composer. Nếu các bạn lừng khừng Composer là gì tốt cách thực hiện nó thì bạn nên hiểu nội dung bài viết, Composer Namespaces in 5 minutes. Nó reviews bạn với Composer nói thông thường và bí quyết áp dụng PSR-0 mang lại việc autoloading.

Xem thêm: Kinh Nghiệm Mua Chung Cư Không Nên Bỏ Qua, Cách Chọn Căn Hộ Chung Cư Đẹp

Cài đặt:

composer require --dev phpunit/phpunit ^6.2

Chạy PHPUnit

Sau Lúc cài đặt ngừng hãy chú ý cho tệp tin ./vendor/bin/phpunit. Đây là file dùng để làm thực hiện PHPUnit.Chạy lệnh: ./vendor/bin/phpunit, nó vẫn hiển thị tất cả những tùy chọn help.
*

Cấu trúc project

Do họ đã thực hiện Composer nên vẫn cần cấu trúc project một ít để nó vận động cùng với autoloader. Các file mã nguồn sẽ tiến hành viết vào tlỗi mục src với namespace là App cùng unit tests sẽ được viết vào tlỗi mục tests cùng với namespace là Tests.

Update tệp tin composer.json của công ty nlỗi sau:

"require-dev": "phpunit/phpunit": "^6.2" , "autoload": "psr-4": "App\": "src/" , "autoload-dev": "psr-4": "Tests\": "tests/" Sau kia chạy lệnh để update autoloader:

composer dump-autoloaddo đó cấu tạo project của họ như sau:

phpunit-tut/|-- composer.json|-- composer.lock|-- phpunit.xml|-- src|-- tests|-- vendor

Cấu hình file phpunit.xml

Quý khách hàng rất có thể áp dụng các tùy chọn vào dòng lệnh để cấu hình đến phpunit tuy vậy gồm 1 cách dễ dàng rộng sẽ là thực hiện file thông số kỹ thuật phpunit.xml.

Trong folder root phpunit-tut tạo thành tệp tin phpunit.xml:

phpunit colors="true"> testsuites> testsuite name="Application Test Suite"> directory>./tests/directory> testsuite> testsuites>phpunit>Đây là file thông số kỹ thuật dễ dàng độc nhất, tuy vậy bao gồm 2 điểm quan lại trọng:

colors="true" khiến cho tác dụng kiểm tra được quẹt color./tests/ mang đến PHPUnit biết vị trí giữ các tệp tin tests

CONVENTIONS

Trong loạt bài viết này sẽ sở hữu được một trong những conventions góp cho bạn thực hiện PHPUnit thuận lợi hơn, mặc dù tất cả một trong những convention là không cần.

Xem thêm: Xem Bản Đồ Huyện Phú Quốc, Tỉnh Kiên Giang, Bản Đồ Huyện Phú Quốc

Cấu trúc và thương hiệu file

Convention đầu tiên là về kết cấu file và thương hiệu tệp tin. Các tệp tin tests bắt buộc ánh xạ với các tệp tin mã nguồn tương xứng vào từng tlỗi mục cùng tên file nên đặt giống cùng với tệp tin mã mối cung cấp thêm vào đó từ Test làm việc sau. lấy ví dụ như, trường hợp bọn họ bao gồm các file mã nguồn như sau:

./src/Foo.php./src/Bar.php./src/Controller/Baz.phpThì các file tests phải được tổ chức như sau:

./tests/FooTest.php./tests/BarTest.php./tests/Controller/BazTest.php

Tên lớp

Tên lớp nên khớp hoàn toàn với tên tệp tin, điều này cũng nên áp dụng với các tệp tin mã mối cung cấp không giống.

Tên những method (test)

Các cách tiến hành trong số lớp thử nghiệm buộc phải được bắt đầu với từ bỏ test (tuy nhiên chúng ta có thể thực hiện annotation