Architecture test kiểm tra quy tắc cấu trúc code mà không cần chạy logic, nên bắt được vi phạm thiết kế từ sớm.
php
arch('Service không được truy cập trực tiếp DB')
->expect('App\\Services')
->not->toUseClasses(['Illuminate\\Database\\Eloquent\\Model']);Lợi ích: chặn tight coupling, bắt chỗ bỏ qua dependency injection, phát hiện phụ thuộc chéo module trái phép và ép naming convention.
Hay dùng để đảm bảo model nằm trong Models/, service nằm trong Services/, controller chỉ gọi xuống service. Vi phạm bị chặn ngay ở CI thay vì lòi ra lúc chạy thật.