← Создание агентов на Cloudflare / agents / getting-started
Тестирование ваших Agents
Поскольку Agents работают поверх Cloudflare Workers и Durable Objects, их можно тестировать теми же инструментами и приёмами, что и Workers с Durable Objects.
Написание и запуск тестов
Настройка
Прежде чем написать свой первый тест, установите необходимые пакеты:
npm install vitest@^4.1.0 @cloudflare/vitest-plugin --save-devУбедитесь, что ваш vitest.config.js имеет cloudflareTest настроенный плагин:
import { cloudflareTest } from "@cloudflare/vitest-plugin";
import { defineConfig } from "vitest/config";
export default defineConfig({
plugins: [
cloudflareTest({
wrangler: { configPath: "./wrangler.jsonc" },
}),
],
});Написать тест
Тесты используют vitest фреймворк. Базовый набор тестов для вашего Agent способен проверить, как Agent реагирует на запросы, а также протестировать методы и состояние Agent на уровне юнит-тестов.
import { env, exports } from "cloudflare:workers";
import {
createExecutionContext,
waitOnExecutionContext,
} from "cloudflare:test";
import { describe, it, expect } from "vitest";
import worker from "../src";
import { Env } from "../src";
interface ProvidedEnv extends Env {}
describe("make a request to my Agent", () => {
// Unit testing approach
it("responds with state", async () => {
// Provide a valid URL that your Worker can use to route to your Agent
// If you are using routeAgentRequest, this will be /agents/:agent/:name
const request = new Request<unknown, IncomingRequestCfProperties>(
"http://example.com/agents/my-agent/agent-123",
);
const ctx = createExecutionContext();
const response = await worker.fetch(request, env, ctx);
await waitOnExecutionContext(ctx);
expect(await response.json()).toEqual({ hello: "from your agent" });
});
it("also responds with state", async () => {
const request = new Request("http://example.com/agents/my-agent/agent-123");
const response = await exports.default.fetch(request);
expect(await response.json()).toEqual({ hello: "from your agent" });
});
});Запустить тесты
Запуск тестов выполняется с помощью vitest CLI:
npm run test
# or run vitest directly
npx vitest MyAgent
✓ should return a greeting (1 ms)
Test Files 1 passed (1)Просмотрите документация по тестированию для дополнительных примеров и настройки тестов.
Локальный запуск Agents
Вы также можете запустить Agent локально с помощью wrangler CLI:
npx wrangler devYour Worker and resources are simulated locally via Miniflare. For more information, see: https://developers.cloudflare.com/workers/testing/local-development.
Your worker has access to the following bindings:
- Durable Objects:
- MyAgent: MyAgent
Starting local server...
[wrangler:inf] Ready on http://localhost:53645Это запускает локальный сервер разработки, который использует тот же рантайм, что и Cloudflare Workers, и позволяет дорабатывать код вашего Agent и тестировать его локально без развёртывания.
Перейдите в wrangler dev ↗ документацию, чтобы ознакомиться с флагами CLI и параметрами конфигурации.