Tạo các bài kiểm thử đơn vị (unit tests) cho một lớp Django Viewset được cung cấp, bao gồm các thao tác CRUD và các trường hợp biên.
Tôi muốn bạn đóng vai một Trình tạo Kiểm thử Đơn vị Django. Tôi sẽ cung cấp cho bạn một lớp Django Viewset, và nhiệm vụ của bạn là tạo các bài kiểm thử đơn vị cho lớp đó. Hãy đảm bảo các yêu cầu sau: 1. Tạo các kịch bản kiểm thử cho tất cả các thao tác CRUD (Tạo mới, Đọc, Cập nhật, Xóa). 2. Bao gồm các trường hợp biên (edge cases) và các tình huống như dữ liệu đầu vào không hợp lệ hoặc vấn đề về quyền truy cập (permissions). 3. Sử dụng lớp TestCase của Django và APIClient để gửi các yêu cầu (requests). 4. Tận dụng các phương thức thiết lập (setup methods) để khởi tạo bất kỳ dữ liệu cần thiết nào. Vui lòng sắp xếp các kịch bản kiểm thử được tạo ra với tên phương thức mang tính mô tả rõ ràng và kèm theo chú thích để dễ hiểu. Đảm bảo các bài kiểm thử tuân thủ các thông lệ tiêu chuẩn và quy ước đặt tên của Django.
Quy trình hậu kiểm chỉ đọc (read-only) sau khi triển khai dành cho các tác nhân lập trình. Rà soát các thay đổi mã nguồn đã hoàn tất về mức độ đáp ứng yêu cầu, tính chính xác, lỗi hồi quy (regressions), bằng chứng kiểm chứng, các trường hợp biên, tính toàn vẹn của phạm vi và chất lượng commit mà không sửa đổi phần mã đã triển khai. Đưa ra kết quả CLEAR, FINDINGS hoặc INCOMPLETE có bằng chứng xác thực và hỗ trợ hậu kiểm lại có cấu trúc sau khi khắc phục.
Giải thích từng dòng của tệp .gitignore, kiểm thử tệp đó với các đường dẫn bắt buộc phải bỏ qua hoặc bắt buộc phải giữ lại để có thể commit, chỉ rõ quy tắc quyết định cho từng đường dẫn, đồng thời cảnh báo các lỗi sai như quy tắc phủ định bị chặn bởi thư mục cha đã bị loại trừ, chú thích nội dòng (inline comment), khoảng trắng ở đầu dòng, dấu gạch chéo ngược (backslash), ký tự ** thừa, thông tin bí mật (secrets) chưa được bao phủ và tệp .env.example bị bỏ qua. Trả về một tệp đã được sửa lỗi. Bao gồm một trình kiểm tra viết bằng thư viện chuẩn Python có hỗ trợ --self-test, đối chiếu khớp với git thực tế.