Tôi biết cách để chạy thử nghiệm chức năng/tích hợp trong Rails, câu hỏi này là về các phương pháp hay nhất. Hãy nói rằng cho phép được thực hiện sử dụng bốn vai trò người dùng riêng biệt:Kiểm tra chức năng ủy quyền trong Rails
- cơ bản
- biên tập
- quản trị
- siêu
Điều này có nghĩa rằng đối với mỗi hành động có đến năm hành vi khác nhau có thể (4 vai trò + không được xác thực/ẩn danh). Một cách tiếp cận tôi đã thực hiện là để kiểm tra tất cả các vai trò trên mọi hành động, ví dụ:
test_edit_by_anonymous_user
test_edit_by_basic_user
test_edit_by_editor_user
test_edit_by_admin_user
test_edit_by_super_user
Nhưng điều này rõ ràng dẫn đến số lô kiểm tra (mọi hành động điều khiển trên trang web thực sự cần được kiểm tra năm lần). Cách tiếp cận ngược lại sẽ là kiểm tra cơ chế ủy quyền một cách riêng biệt và sau đó xác thực là siêu trước khi thử nghiệm mọi hành động (khi thiết lập) và chỉ kiểm tra một phiên bản của mỗi trang.
Tôi đã thử một số cách tiếp cận với mức độ khác nhau về độ đặc hiệu nhưng chưa hoàn toàn hài lòng với bất kỳ điều gì. Tôi cảm thấy thoải mái hơn khi tôi thử nghiệm nhiều trường hợp hơn, nhưng số lượng mã thử nghiệm và độ khó của sự trừu tượng hóa đã trở thành một lượt tắt. Có ai có cách tiếp cận vấn đề này mà họ hài lòng không?
Cảm ơn! Video và các bài viết của Ryan rất hữu ích. Tôi rất vui khi được biết có người nói về vấn đề này. –
Nếu có ai khác gặp sự cố khi truy cập video: [Video ở trên youtube tại đây] (http://www.youtube.com/watch?v=KUjnAztX9yk) –