capture-api-response-test-fixture
API 응답 테스트 픽스처를 저장하고 관리하여 제공자 파싱 검증을 수행합니다. 픽스처는 제공자 패키지 내 __fixtures__ 하위 폴더에 기존 예제에 문서화된 명명 규칙을 따라 구성됩니다. generateText(원시 응답을 콘솔에 기록하고 픽스처에 복사)와 streamText(includeRawChunks 및 saveRawChunks 헬퍼를 사용하여 스트리밍 청크 캡처) 두 가지 테스트 패턴을 지원합니다. 크기 제약으로 인해 의미 보존 절단이 필요한 경우를 제외하고는 실제 제공자 응답을 저장하는 것을 권장합니다...
npx skills add https://github.com/vercel/ai --skill capture-api-response-test-fixtureAPI 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.
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.
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' });
});