LẬP TRÌNH

Viết unit test TypeScript bằng
Vitest theo quy ước dự án

Dán mã TypeScript, nhận về bộ kiểm thử Vitest có cấu trúc, chú thích rõ và bao phủ cả trường hợp biên.

Dùng để: Sinh bộ kiểm thử đơn vị cho một class hoặc hàm TypeScript, dùng Vitest và đúng quy ước thư mục của dự án.

Nội dung prompt

VAI TRÒ
Bạn là kỹ sư kiểm thử tự động, thành thạo TypeScript và Vitest, viết test rõ ràng và dễ bảo trì.

NHIỆM VỤ
Viết các bài kiểm thử đơn vị cho đoạn mã trong phần đầu vào.

ĐẦU VÀO
- Mã nguồn: [DÁN MÃ TYPESCRIPT]
- Quy ước đặt tên và thư mục: [QUY ƯỚC DỰ ÁN]
- Phụ thuộc cần giả lập: [DANH SÁCH PHỤ THUỘC]

QUY TẮC
- Dùng describe và it để tổ chức bài kiểm thử.
- Đặt tệp trong thư mục tests, tên tệp theo cấu trúc của class và có hậu tố spec.ts.
- Dùng vi.mock cho các export trực tiếp và vi.spyOn cho phương thức của class.
- Dùng beforeEach và afterEach cho thiết lập và dọn dẹp chung.
- Mỗi bài kiểm thử ghi chú rõ mục tiêu, phụ thuộc, kịch bản và kết quả mong đợi.
- Bắt lỗi theo kiểu ngoại lệ, không so sánh theo chuỗi thông điệp.
- Bao phủ cả trường hợp đúng, trường hợp biên và trường hợp đầu vào không hợp lệ.

KHUÔN ĐẦU RA
Đường dẫn tệp: ...
Mã kiểm thử: ...
Danh sách trường hợp đã bao phủ: ...

Thay nội dung trong dấu [ ] trước khi sử dụng.

Mẹo tinh chỉnh

Đừng để test phụ thuộc vào thứ tự chạy, vì như vậy rất khó gỡ lỗi về sau. Với hàm có xử lý bất đồng bộ, yêu cầu dùng await và kiểm tra cả trường hợp bị từ chối. Nếu một bài test quá dài, tách thành nhiều trường hợp nhỏ và đặt tên mô tả hành vi. Nên yêu cầu thêm dữ liệu kiểm thử dùng chung trong thư mục riêng để tái sử dụng. Cuối cùng, yêu cầu chỉ ra những nhánh mã chưa được bao phủ.

Prompt khác cùng nhóm

Dựng ứng dụng trắc nghiệm tương tác bằng JavaScriptCho ngân hàng câu hỏi và thiết lập, nhận về app trắc nghiệm: nhiều dạng câu, đếm ngược, chấm điểm, xem lại bài và bảng điểm cao.Xem promptDựng ứng dụng quản lý thu chi cá nhânMô tả nhu cầu tài chính, nhận về app quản lý thu chi: bảng điều khiển, phân loại giao dịch, biểu đồ, mục tiêu ngân sách và sao lưu.Xem promptDựng ứng dụng web tạo hóa đơn PDF bằng Node.jsMô tả nguồn đơn hàng và quy tắc hoa hồng, nhận về kiến trúc ứng dụng Node.js xuất hai tệp PDF: bảng chi tiết và hóa đơn.Xem promptDựng ứng dụng ghi chú Markdown hai màn hìnhMô tả nhu cầu ghi chú, nhận về app hai khung soạn và xem trước, hỗ trợ bảng, khối mã, công thức và lưu trong trình duyệt.Xem promptDựng Telegram Mini App điểm danh ca làm việcMô tả ca làm và vai trò, nhận về mini app: chấm công vào ra, xác thực người dùng, xem lịch ca và trang quản trị xếp ca.Xem promptLập quy trình xử lý lỗ hổng bảo mật CVEĐưa danh sách lỗ hổng và hệ thống đang dùng, nhận về quy trình phân tích nguyên nhân, chọn mức ưu tiên và tài liệu tuân thủ.Xem promptĐóng vai kỹ sư phần mềm nhúng ô tô theo chuẩn AUTOSARĐưa bối cảnh vi điều khiển và yêu cầu, nhận về cách chia lớp phần mềm, danh sách mô-đun và điểm kiểm tra an toàn.Xem promptTạo mẫu giao diện ứng dụng trò chuyện AI cho AndroidMô tả tính năng và địa chỉ API, nhận về bản mẫu giao diện tối gồm bốn màn hình và luồng điều hướng bằng thanh cạnh trái.Xem promptDựng game đua xe 3D bằng Three.jsMô tả đường đua và chế độ chơi, nhận về game đua xe: mô phỏng vật lý, đối thủ AI, HUD đầy đủ, hiệu ứng khói và thời tiết.Xem prompt