unit test trong laravel (phần 5): Tổ chức thư mục test bằng testsuite

Khi ứng dụng có nhiều class, controller.. điều này dẫn đến 1 hệ quả đó là cũng sẽ có rất nhiều các class dùng để test khiến cho việc quản lý trở nên khó khăn. Đôi khi bạn chỉ muốn chạy test của một class hoặc một chức năng thôi chứ không muốn chạy lại tất cả thì cũng rất bế tắc. Và cách giải quyết ở đây là dùng testsuite. Cách làm như sau

1. Tổ chức lại thư mục test của bạn sao cho dễ nhìn, dễ quản lý nhất. Tốt nhất là cấu trúc thư mục chứa source như nào thì thư mục test y như vậy. PhpUnit có thể lặp đệ quy thư mục để tìm ra tất cả các class có dạng *Test.php để chạy nên chỉ cần đặt đúng tên class là bạn không có gì phải lo lắng.

2. Mở file phpunit.xml ra, để ý phần thiết lập testsuite, chúng ta có thể tạo nhiều nhóm testsuite tương ứng với nhóm chức năng của chương trình

Bạn có thể chỉ định rõ tên file hoặc tên thư mục đối với từng testsuite. Từ bây giờ bạn chỉ cần gõ lệnh như sau là phpunit sẽ tự động tìm và chạy test cho bạn

Rất đơn giản phải không 🙂