Tạo tiện ích và bài kiểm tra đơn vị
![]()
Tags: Code generation | Unit testing | Automation | Quality
1. Mục đích
Sử dụng quy trình này khi bạn cần một hàm trợ giúp tái sử dụng hoặc muốn tăng cường độ bao phủ kiểm thử đơn vị (unit test) cho một class, package hoặc module hiện có. CodeVista sẽ đọc mã nguồn lân cận và các file kiểm thử liên quan, tuân theo các quy ước của dự án, tạo ra mã nguồn được yêu cầu và chạy các bài kiểm thử tập trung khi được cho phép.
2. Trước khi bắt đầu
- Mở repository và đưa class hoặc package mục tiêu vào ngữ cảnh của CodeVista.
- Xác nhận framework kiểm thử được sử dụng, hoặc để CodeVista tự động phát hiện từ dự án.
- Nêu rõ hành vi mong muốn cùng bất kỳ interface hoặc logic hiện tại nào bắt buộc phải giữ nguyên.
3. Lời nhắc khởi động (Starter Prompt)
Tạo [utility hoặc helper] cho [class, package, hoặc module].
Hành vi yêu cầu:
- [Yêu cầu 1]
- [Yêu cầu 2]
Sau đó tạo unit test cho toàn bộ logic bị ảnh hưởng.
Tuân thủ các quy ước và mẫu kiểm thử hiện có của dự án.
Bao phủ các luồng chính (happy path), lỗi xác thực (validation failures), giá trị biên (boundary values) và các trường hợp ngoại lệ (edge cases) liên quan.
Không thay đổi các hành vi không liên quan.
Nếu được phép thực thi lệnh, hãy chạy bộ kiểm thử nhỏ nhất liên quan.
Kết quả trả về:
- Danh sách file được tạo hoặc thay đổi
- Các trường hợp kiểm thử (test cases) đã bao phủ
- Lệnh chạy kiểm thử và kết quả
- Các giả định hoặc vấn đề chưa được giải quyết
4. Cách sử dụng
- Mở class, package hoặc module mục tiêu trong workspace hiện tại.
- Thay thế các placeholder trong Lời nhắc khởi động bằng hành vi thực tế cần xử lý.
- Gửi prompt và xem xét utility cùng các test case được đề xuất.
- Kiểm tra diff để đảm bảo không có thay đổi ngoài ý muốn hoặc giả định sai.
- Chạy bộ kiểm thử tập trung và xử lý các lỗi phát sinh (nếu có) trước khi lưu thay đổi.
5. Kết quả mong đợi
- Mã nguồn chuẩn theo dự án: Các hàm tiện ích tuân thủ quy tắc đặt tên, cấu trúc và cách triển khai của repository.
- Độ bao phủ ý nghĩa: Các bài kiểm tra bao phủ hành vi mong đợi, lỗi xác thực, giá trị biên và các trường hợp biên quan trọng.
- Kết quả có thể kiểm chứng: Phản hồi liệt kê rõ ràng các file thay đổi, các case đã test cùng câu lệnh và kết quả kiểm thử.

6. Mẹo hữu ích
- Yêu cầu CodeVista đặt tên test case, sử dụng mock, fixture và phong cách assertion khớp với các bài test hiện có.
- Chỉ rõ các quy tắc nghiệp vụ và trường hợp biên cụ thể nếu chúng không thể hiện rõ ràng trong code.
- Ưu tiên chạy lệnh kiểm thử cho riêng file/class vừa tạo trước khi chạy toàn bộ test suite của dự án.