Kiểm thử end-to-end
Một cách phổ biến để kiểm thử các JavaScript page component là dùng công cụ end-to-end như Cypress hoặc Pest. Đây là các công cụ tự động hóa trình duyệt, cho phép chạy những mô phỏng thực tế của ứng dụng ngay trong trình duyệt. Các test này thường chậm hơn; tuy nhiên, vì chúng kiểm thử ứng dụng ở cùng lớp mà người dùng cuối tương tác, chúng mang lại mức độ tin cậy cao rằng ứng dụng đang hoạt động đúng. Đồng thời, do test chạy trong trình duyệt, JavaScript của bạn cũng thực sự được thực thi và kiểm thử.Unit test phía client
Một cách khác để kiểm thử page component là dùng framework unit test phía client như Vitest, Jest hoặc Mocha. Cách tiếp cận này cho phép bạn kiểm thử độc lập các JavaScript page component bằng Node.js.Kiểm thử endpoint
Ngoài kiểm thử page component JavaScript, bạn có thể cũng muốn kiểm thử các response Inertia do framework phía máy chủ trả về. Một cách phổ biến là dùng endpoint test, trong đó bạn gửi request đến ứng dụng và kiểm tra response. Laravel cung cấp công cụ để thực hiện loại test này. Tuy nhiên, để quá trình này dễ dàng hơn nữa, adapter Laravel của Inertia cung cấp thêm các công cụ HTTP testing. Hãy xem một ví dụ.inertiaProps để lấy các prop được trả về trong response. Có thể truyền một key để lấy thuộc tính cụ thể; các thuộc tính lồng nhau được hỗ trợ bằng ký pháp “dot”.
assertInertia và các assertion có sẵn. Trước tiên, để xác nhận response Inertia có một thuộc tính, bạn có thể dùng phương thức has. Có thể xem phương thức này tương tự hàm isset của PHP.
has.
has cũng có thể được dùng để scope các property, giúp giảm lặp khi assert trên các property lồng nhau.
where.
etc.
missing hoàn toàn đối lập với has, dùng để đảm bảo property không tồn tại. Phương thức này kết hợp rất tốt với etc.
Kiểm thử partial reload
Bạn có thể dùng các phương thứcreloadOnly và reloadExcept để kiểm thử cách ứng dụng phản hồi với partial reload. Các phương thức này thực hiện một request tiếp theo và cho phép bạn assertion trên response.
reloadOnly hoặc reloadExcept.
Kiểm thử deferred props
Bạn có thể dùng phương thứcloadDeferredProps để kiểm thử cách ứng dụng phản hồi với deferred props. Phương thức này thực hiện request tiếp theo để tải các deferred property và cho phép bạn assertion trên response.
loadDeferredProps.
loadDeferredProps.
Kiểm thử flash data
Bạn có thể dùng các phương thứchasFlash và missingFlash để kiểm thử flash data trong response Inertia.
Redirect response
Các phương thứchasFlash và missingFlash ở trên chỉ hoạt động với response của Inertia page đã render. Với redirect response, bạn có thể dùng trực tiếp assertInertiaFlash và assertInertiaFlashMissing trên test response để assertion dữ liệu flash trong session.