Để kiểm thử tích hợp API Claude Fable 5.2, hãy xác thực phần xác thực, phần thân yêu cầu Messages, các khối phản hồi có kiểu dữ liệu, và các lỗi có thể dự đoán. Sau đó lưu các bước kiểm tra này thành các test case Apidog có thể chạy lặp lại mà agent lập trình của bạn thực thi qua CLI. Hãy tách biệt các kiểm tra ở tầng truyền tải với các kiểm tra chất lượng kết quả để một phản hồi HTTP thành công không thể che giấu một câu trả lời không dùng được.
Thông báo của Anthropic xác định claude-fable-5-2 là ID model trên Claude Platform. Bài hướng dẫn này xây dựng một quy trình kiểm thử hồi quy (regression) xoay quanh model đó, thay vì dừng lại sau một phản hồi thành công duy nhất. Apidog cung cấp cho agent của bạn một nơi chung để duy trì endpoint, test case và báo cáo chạy thử.
Kiểm thử API Claude Fable 5.2 cần bao phủ những gì?
Sử dụng ba tầng: các kiểm tra truyền tải (transport) xác định xem yêu cầu đã đến được dịch vụ hay chưa; các kiểm tra hợp đồng (contract) xác thực cấu trúc phản hồi; các kiểm tra hành vi (behavior) xác định xem ứng dụng của bạn có thể sử dụng kết quả hay không. Chạy hai tầng đầu cho mọi fixture. Định nghĩa tiêu chí chấp nhận theo hành vi cho từng tác vụ thay vì so sánh toàn bộ câu trả lời được tạo ra theo từng byte.

| Tầng | Ví dụ kiểm tra | Ý nghĩa khi thất bại |
|---|---|---|
| Truyền tải | Trạng thái mong đợi và phản hồi JSON | Vấn đề về thông tin xác thực, mạng hoặc dịch vụ |
| Contract | Tin nhắn của trợ lý với các khối nội dung có kiểu dữ liệu | Lỗi parser hoặc không khớp hợp đồng API |
| Hành vi | Kết quả tính toán đúng trong văn bản được trích xuất | Kết quả đầu ra không thỏa mãn fixture này |

Bắt đầu với một fixture nhỏ, vô hại: "2 + 2 bằng bao nhiêu? Chỉ trả lời bằng chữ số." Nó giúp tiêu chí chấp nhận trở nên rõ ràng mà không cần引入 tệp tin, công cụ hay lịch sử hội thoại. Sau khi hợp đồng cơ bản hoạt động, hãy thêm các fixture đại diện cho ứng dụng thực tế.
Đừng coi fixture này là chuẩn đánh giá khả năng suy luận. Mục đích của nó là phát hiện các lỗi hồi quy tích hợp, chẳng hạn như trích xuất khối suy luận (thinking block) làm văn bản hiển thị cho người dùng, hoặc chấp nhận một phản hồi bị cắt cụt.
Cố định xác thực và cài đặt yêu cầu trước khi kiểm thử
Đối với Claude API trực tiếp, hãy dùng endpoint Messages, một thông tin xác thực API phạm vi workspace, một phiên bản API rõ ràng, và một phần thân yêu cầu cố định. Giữ những giá trị đầu vào này không đổi giữa các lần chạy. Tổng quan API ghi chú cách xác thực Bearer, lựa chọn workspace và các header phiên bản. Các cài đặt này khác với xác thực IAM của nhà cung cấp đám mây.
Sử dụng khóa API Claude Console được cung cấp qua môi trường biến bí mật cục bộ. Một access token Apidog chỉ xác thực CLI với Apidog; nó không xác thực các yêu cầu gửi đến Anthropic. Giữ hai thông tin xác thực này tách biệt.
Yêu cầu sau đây tuân theo tài liệu Messages hiện tại, đã kiểm tra ngày 10 tháng 11 năm 2026. Lưu JSON dưới tên request.json:
{
"model": "claude-fable-5-2",
"max_tokens": 1024,
"stream": false,
"thinking": { "type": "adaptive" },
"messages": [
{
"role": "user",
"content": "What is 2 + 2? Reply with the numeral only."
}
]
}
Sau đó gửi nó từ terminal của bạn hoặc để agent lập trình thực thi:
curl https://api.anthropic.com/v1/messages \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-H 'anthropic-version: 2026-10-21' \
-H 'Content-Type: application/json' \
--max-time 600 \
--dump-header response.headers \
--output response.json \
--write-out '%{http_code}\n' \
--data-binary @request.json
Nếu khóa của bạn không thuộc phạm vi workspace, hãy thêm header anthropic-workspace-id theo tài liệu cho workspace đích của bạn. Không bao giờ đặt thông tin xác thực dạng văn bản thuần vào fixture đã lưu hoặc báo cáo được tạo ra.
Tài liệu tham khảo Create a Message định nghĩa model, messages, và max_tokens, cùng các trường tin nhắn được trả về. Ở đây, 1.024 là ngân sách đầu ra được chọn, không phải mức tối thiểu được ghi chú trong tài liệu hay lời cam kết rằng mọi tác vụ đều vừa vặn. Hãy chủ động tăng nó khi một fixture cần nhiều không gian hơn.
Đây là một mẫu đã được xác minh theo tài liệu. Hãy chạy nó với tài khoản API được ủy quyền của bạn trước khi ghi nhận một kết quả cơ sở đạt; không có phản hồi Fable thực tế hay đo độ trễ nào được tuyên bố ở đây.
Thêm các kiểm tra phản hồi chịu được sự biến động của nội dung được tạo ra
Kiểm tra phong bì (envelope) phản hồi, xem xét các loại khối, trích xuất văn bản, rồi áp dụng tiêu chí chấp nhận của fixture. Một phản hồi Messages chứa mảng content, vì vậy đừng giả định content[0].text chứa câu trả lời. Lưu giữ toàn bộ tin nhắn gốc riêng biệt nếu ứng dụng của bạn gửi lại nó trong các lượt hội thoại tiếp theo.
Đối với fixture tính toán, hãy yêu cầu agent của bạn đính kèm script hậu xử lý này vào test case Apidog:
pm.test("HTTP success", function () {
pm.response.to.have.status(200);
});
const body = pm.response.json();
pm.test("Assistant message contract", function () {
pm.expect(body.type).to.eql("message");
pm.expect(body.role).to.eql("assistant");
pm.expect(body.id).to.be.a("string");
pm.expect(body.model).to.be.a("string");
pm.expect(body.content).to.be.an("array");
});
const text = body.content
.filter(block => block.type === "text")
.map(block => block.text)
.join("\n").trim();
pm.test("Arithmetic fixture is complete", function () {
pm.expect(body.stop_reason).to.eql("end_turn");
pm.expect(text).to.eql("4");
});
So sánh bằng chính xác là hợp lý cho chữ số bị ràng buộc chặt chẽ này. Với một bản tóm tắt, hãy dùng các tiêu chí như các sự kiện bắt buộc, các tuyên bố không được hỗ trợ bị cấm, và giới hạn độ dài. Một thay đổi cách diễn đạt vô hại không nên làm hỏng một bài kiểm tra tóm tắt hữu ích.
Ghi nhận usage và header request-id của phản hồi để chẩn đoán. So sánh các định danh model được trả về với hành vi được ghi chú cho định danh bạn đã chọn; đừng âm thầm gán nhãn lại các phản hồi dự phòng (fallback) là kết quả của Fable.
Lý do dừng max_tokens có nghĩa là câu trả lời đã chạm giới hạn đầu ra. Đánh dấu thất bại cho fixture tính toán này và xem xét lại ngân sách token. Các tác vụ khác có thể hợp lệ khi trả về lý do dừng khác nhau, bao gồm cả yêu cầu công cụ, vì vậy hãy đưa ra quy tắc hoàn thành riêng cho từng case.
Kiểm thử các trường hợp phủ định của API Claude Fable 5.2
Tạo một case riêng cho mỗi đầu vào không hợp lệ và chỉ thay đổi một trường mỗi lần. Kiểm tra mã trạng thái HTTP và loại lỗi có cấu trúc thay vì khớp toàn bộ thông báo lỗi dạng văn bản. Giữ nguyên baseline hợp lệ để một fixture phủ định không thể làm nhiễm bẩn lần chạy tích cực tiếp theo.
Hướng dẫn lỗi chính thức ghi chú các trường hợp hữu ích sau:
| Trường hợp | Thay đổi so với baseline | Kết quả mong đợi | |
|---|---|---|---|
| Xác thực không hợp lệ | Thay thông tin xác thực Bearer bằng giá trị giả | 401, authentication_error |
|
| Tắt suy luận | Đặt thinking.type thành disabled |
400, invalid_request_error |
|
| Extended thinking kiểu cũ | Đặt thinking.type thành enabled |
400, invalid_request_error |
|
| Assistant prefill | Kết thúc hội thoại bằng một assistant prefill | 400, invalid_request_error |
Fable 5.2 sử dụng chế độ suy luận luôn bật. Đừng sao chép một hướng dẫn Claude cũ hơn mà tắt nó hoặc cấu hình ngân sách extended-thinking. Trường hợp tắt suy luận đặc biệt hữu ích khi nâng cấp mã xây dựng yêu cầu dùng chung.
Với mỗi trường hợp lỗi, hãy kiểm tra body.type === "error", body.error.type mong đợi, và một thông báo lỗi không rỗng. Lưu giữ request ID khi có sẵn. Coi lỗi DNS và timeout phía client là các kết quả riêng biệt vì chúng có thể không bao giờ tạo ra lỗi JSON từ Claude.
Kiểm tra cách ứng dụng của bạn xử lý giới hạn tốc độ và lỗi dịch vụ bằng các fixture được kiểm soát hoặc một mock. Đừng làm ngập API thực tế để tạo ra lỗi 429. Phân biệt các vấn đề về năng lực có thể thử lại với các lỗi xác thực và kiểm tra dữ liệu, và đặt một ngân sách thử lại hữu hạn quanh logic thử lại của ứng dụng.
Để agent lập trình xây dựng các test case hồi quy Apidog
Cung cấp cho agent của bạn endpoint, các fixture, các kiểm tra và dự án đích. Nó có thể khám phá schema CLI hiện tại, xác thực từng payload, tạo test case và chạy chúng. Bạn xem xét các case được tạo và bản tóm tắt lỗi. Điều này giữ quy trình có thể lặp lại trong Apidog CLI.
Cài đặt CLI và xác thực bằng token Apidog của bạn:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_APIDOG_TOKEN>
Để thiết lập agent, hãy làm theo các hướng dẫn trực tuyến cho Claude Code hoặc Codex. Sau đó đưa cho agent của bạn một prompt:
In Apidog project <PROJECT_ID>, define POST /v1/messages for the
Claude API. Use model claude-fable-5-2 and version 2026-10-21.
Keep the Anthropic credential in a private runtime variable.
Create the arithmetic success case and four negative cases above.
Read CLI help and input schemas before generating payloads.
Discover valid endpoint and category IDs; validate every payload.
Attach the response assertions, then run each case against
<ENVIRONMENT_ID>. Report failures, request IDs, and token usage.
Do not print credentials or claim unexecuted cases passed.
Các lệnh sau đã được kiểm tra với CLI 2.2.12 đã cài đặt. Agent cần một ID endpoint và ID danh mục thực; test-case-create mô tả các case được tạo từ endpoint, vì vậy việc tạo một yêu cầu JSON độc lập không liên quan là chưa đủ.
apidog test-case category --project <PROJECT_ID>
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <PROJECT_ID> --file case.json
apidog run --test-case <CASE_ID> --project <PROJECT_ID> \
-e <ENVIRONMENT_ID> -r cli,json
Yêu cầu agent xem trợ giúp lệnh endpoint và các schema khi endpoint chưa tồn tại. Sử dụng các ID được trả về, không phải các số minh họa được sao chép từ dự án khác. Xác thực case.json trước khi ghi, sau đó đọc lại case đã tạo để xác nhận các header, phần thân và kiểm tra mong muốn đã được lưu.
Chạy các kiểm thử hồi quy Claude API trong CI
Chạy cùng các case đó sau mỗi thay đổi về xác thực, tuần tự hóa tin nhắn, phân tích khối hoặc xử lý thử lại. Xuất các báo cáo dạng máy đọc được và lưu phiên bản fixture cùng với thay đổi ứng dụng của bạn. Thiết lập một baseline đạt trước khi so sánh, rồi điều tra từng lỗi thay vì chạy lại cho đến khi bản build tình cờ đạt.

Đối với một case đã được tạo trong Apidog, một lệnh gọi hướng CI là:
apidog run --test-case <CASE_ID> --project <PROJECT_ID> \
-e <ENVIRONMENT_ID> -r cli,json,junit \
--out-dir ./apidog-reports
Lặp lại cho các ID case còn lại hoặc để agent của bạn tổ chức các case thành một bộ kiểm thử (test suite) bằng schema suite hiện tại. Hướng dẫn CI/CD của Apidog bao phủ việc tích hợp pipeline.
Lưu giữ model, phiên bản API, phần thân yêu cầu, ngân sách đầu ra, phiên bản fixture và phiên bản CLI trong hồ sơ chạy. Lưu thông tin xác thực qua cơ chế secret của CI. Xem xét các báo cáo về dữ liệu yêu cầu nhạy cảm trước khi chia sẻ chúng.
Sử dụng một bộ smoke test trực tiếp nhỏ cho các thay đổi thường xuyên và một bộ kiểm tra hành vi rộng hơn trước các bản phát hành. Tự đặt ngân sách chi tiêu và thời gian của bạn. Một lần vượt qua hợp đồng API xác nhận khả năng tương thích tích hợp; các bài kiểm tra chấp nhận riêng của ứng dụng xác định xem kết quả đầu ra có hữu ích hay không.
Câu hỏi thường gặp
Nên kiểm thử ID model nào?
Dùng claude-fable-5-2 cho quy trình Claude Platform trực tiếp này. Xác minh tính khả dụng trong tài khoản của bạn trước khi lưu một baseline.
HTTP 200 có đủ để được coi là đạt không?
Không. Hãy kiểm tra phong bì tin nhắn, nội dung có kiểu dữ liệu, lý do hoàn thành và tiêu chí chấp nhận của fixture. Streaming cần thêm các kiểm tra ở mức sự kiện vì lỗi có thể xảy ra sau khi các header phản hồi đã được nhận.
Có thể tắt chế độ suy luận của Fable 5.2 không?
Không. Anthropic ghi chú chế độ suy luận luôn bật cho model này. Giữ trường hợp tắt suy luận như một trường hợp phủ định mong đợi một lỗi kiểm tra dữ liệu.
Mọi câu trả lời có cần khớp chính xác không?
Dùng khớp chính xác cho các fixture bị ràng buộc như ví dụ về chữ số. Với các tác vụ mở, hãy định nghĩa các tiêu chí về tính đúng đắn và cấu trúc cho phép biến động cách diễn đạt hợp lệ.
Agent của tôi có thể chạy lại các bài kiểm tra sau khi sửa lỗi không?
Có. Cung cấp cho nó các ID case và môi trường đã lưu, sau đó yêu cầu nó chạy cùng các lệnh CLI và tóm tắt các báo cáo. Bắt đầu với quy trình CLI của Claude Code nếu bạn cần thiết lập agent.
