agent_docs/testing-capabilities.mdXem bản gốc Bản dịch đầy đủ theo đúng cấu trúc tài liệu; code, liên kết và định danh kỹ thuật được giữ nguyên.
Khả năng kiểm tra
Kiểm thử capability nên thực hiện hành vi mà người dùng dựa vào, không chỉ riêng tư các tool hỗ trợ.
Hình dạng mặc định
- Nhập khẩu
TestModeltừpydantic_ai.models.testcho hành vi của model. - Giữ các cuộc gọi của nhà cung cấp thực sự ra khỏi cuộc kiểm tra.
- Thích
Agent(..., capabilities=[...])kiểm tra hành vi công cộng. - Gói nguồn nhân bản theo
tests/<capability>/. - Sử dụng
pytest-anyiovề khả năng/hành vi bộ công cụ không đồng bộ.
Kiểm tra cấp độ thấp hơn
Kiểm tra bộ công cụ trực tiếp phù hợp khi bạn cần kiểm tra:
- các công cụ và lược đồ được liệt kê
- vòng đời của bộ công cụ bao bọc
- thử lại hành vi
- siêu dữ liệu và bản ghi cuộc gọi công cụ tổng hợp
RunContexthoặcToolManagertương tác- các trường hợp khó khăn để buộc phải chạy toàn bộ agent
Sử dụng CodeMode kiểm tra như là tài liệu tham khảo hiện tại cho trực tiếp RunContext và
ToolManager thiết lập.
Sinh sản ranh giới
Khi một khả năng gọi một trình phân tích cú pháp, quy trình, dịch vụ hoặc vùng chứa khác, hãy thêm kiểm tra tập trung cho từng hợp đồng áp dụng:
- Tái tạo hành vi của trình phân tích cú pháp xuôi dòng đã cài đặt khi có sẵn, sau đó
kiểm tra các chữ viết tắt, bí danh được chấp nhận,
--name=valuecác biểu mẫu, dấu phân cách và chuẩn hóa thông qua điểm vào công khai của khả năng. - Làm cho việc dọn dẹp trở lại khác 0 và tăng lên. Khẳng định rằng sự thất bại đã xuất hiện và danh tính tài nguyên vẫn có sẵn cho đến khi dọn dẹp thành công.
- Truyền một điểm giám sát không mặc định cho từng địa chỉ, điểm cuối hoặc đường dẫn có thể định cấu hình. Khẳng định việc cung cấp, sẵn sàng, gọi và chia nhỏ đều sử dụng nó.
- Khẳng định giới hạn kích thước so với giá trị được trả về hoặc được xê-ri hóa cuối cùng, bao gồm tiêu đề, dấu cắt bớt, phong bì và siêu dữ liệu.
Bảo hiểm
CI thực thi phạm vi chi nhánh 100% sau khi kết hợp các tạo phẩm ma trận. Đừng chạy phạm vi phủ sóng cục bộ trừ khi CI báo cáo khoảng cách phạm vi phủ sóng cụ thể. Để điều tra một khoảng trống được báo cáo, chỉ chạy phạm vi cho tệp được gắn cờ hoặc bài kiểm tra tập trung.
Các thử nghiệm về khả năng mới sẽ bao gồm:
- cấu hình mặc định
- kết hợp tùy chọn quan trọng
- đường dẫn thất bại và thử lại
- thành phần với các tính năng Pydantic AI có liên quan
- ví dụ tài liệu khi ví dụ có thể thực thi được
Sử dụng ảnh chụp nhanh khi hành vi được định hình theo giao thức: tin nhắn, luồng sự kiện, lược đồ, nhịp đo từ xa hoặc siêu dữ liệu công cụ có cấu trúc.
Lệnh
Chạy Ruff trên repository. Chạy pytest và Pyright cho các đường dẫn đã thay đổi:
uv run --no-sync ruff format --check .
uv run --no-sync ruff check .
uv run --no-sync pytest -p no:cacheprovider tests/<capability>
PYRIGHT_PYTHON_IGNORE_WARNINGS=1 uv run --no-sync pyright pydantic_ai_harness/<module>.py tests/<module>.py
CI chạy các cổng kiểm tra đánh máy, kiểm tra và kết hợp trên toàn repository.