# Capture Api Response Test Fixture > Capture API response test fixture. Source: https://skillsagentes.com/skills/vercel/ai/capture-api-response-test-fixture Repository: https://github.com/vercel/ai Author: vercel License: NOASSERTION Updated: hace 6 meses Context cost: 9 tok installed, 512 tok once triggered, 512 tok with every bundled file Bundle: 1 file, 2 KB Permissions requested: none declared ## Install ```bash npx -y skills add vercel/ai --skill capture-api-response-test-fixture --agent claude-code ``` ## What it does - Guía la captura de fixtures de test con respuestas reales de proveedores para tests de parsing de respuestas de API - Explica cómo guardar fixtures en una subcarpeta `__fixtures__` siguiendo convenciones de nombres existentes - Muestra cómo loguear la respuesta cruda de `generateText` para copiarla como fixture - Explica cómo usar `includeRawChunks` y el helper `saveRawChunks` para capturar chunks de `streamText` ## Use it when - Se escriben tests de parsing de respuestas de un proveedor y se necesita un fixture con la respuesta real - Se necesita generar un fixture nuevo para `doGenerate` o `doStream` ## What triggers it - "Genera un fixture de test para la respuesta de doGenerate de OpenAI" - "Captura los chunks crudos de streamText para usarlos como fixture" - "Necesito un fixture de respuesta real para testear el parsing del provider" ## Before you install - Requiere el monorepo con `/examples/ai-functions`, pnpm y acceso a los paquetes de provider (e.g. `@ai-sdk/openai`). ## Files - SKILL.md — 2 KB ## SKILL.md Reproduced verbatim from vercel/ai under NOASSERTION. This section is the upstream document and is in English. ### API Response Test Fixtures For provider response parsing tests, we aim at storing test fixtures with the true responses from the providers (unless they are too large in which case some cutting that does not change semantics is advised). The fixtures are stored in a `__fixtures__` subfolder, e.g. `packages/openai/src/responses/__fixtures__`. See the file names in `packages/openai/src/responses/__fixtures__` for naming conventions and `packages/openai/src/responses/openai-responses-language-model.test.ts` for how to set up test helpers. You can use our examples under `/examples/ai-functions` to generate test fixtures. #### generateText (doGenerate testing) For `generateText`, log the raw response output to the console and copy it into a new test fixture. ```ts import { openai } from '@ai-sdk/openai'; import { generateText } from 'ai'; import { run } from '../lib/run'; run(async () => { const result = await generateText({ model: openai('gpt-5-nano'), prompt: 'Invent a new holiday and describe its traditions.', }); console.log(JSON.stringify(result.response.body, null, 2)); }); ``` #### streamText (doStream testing) For `streamText`, you need to set `includeRawChunks` to `true` and use the special `saveRawChunks` helper. Run the script from the `/example/ai-functions` folder via `pnpm tsx src/stream-text/script-name.ts`. The result is then stored in the `/examples/ai-functions/output` folder. You can copy it to your fixtures folder and rename it. ```ts import { openai } from '@ai-sdk/openai'; import { streamText } from 'ai'; import { run } from '../lib/run'; import { saveRawChunks } from '../lib/save-raw-chunks'; run(async () => { const result = streamText({ model: openai('gpt-5-nano'), prompt: 'Invent a new holiday and describe its traditions.', includeRawChunks: true, }); await saveRawChunks({ result, filename: 'openai-gpt-5-nano' }); }); ``` --- Skills Agentes — https://skillsagentes.com/skills/vercel/ai/capture-api-response-test-fixture