Fixtures de test des réponses API
Pour les tests d'analyse des réponses des fournisseurs, nous visons à stocker les fixtures de test avec les véritables réponses des fournisseurs (sauf si elles sont trop volumineuses, auquel cas une réduction qui ne change pas la sémantique est conseillée).
Les fixtures sont stockées dans un sous-dossier __fixtures__, par exemple packages/openai/src/responses/__fixtures__. Consultez les noms de fichiers dans packages/openai/src/responses/__fixtures__ pour les conventions de nommage et packages/openai/src/responses/openai-responses-language-model.test.ts pour voir comment configurer les helpers de test.
Vous pouvez utiliser nos exemples sous /examples/ai-functions pour générer les fixtures de test.
generateText (test doGenerate)
Pour generateText, enregistrez la sortie brute de la réponse dans la console et copiez-la dans une nouvelle fixture de test.
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 (test doStream)
Pour streamText, vous devez définir includeRawChunks à true et utiliser le helper spécial saveRawChunks. Exécutez le script à partir du dossier /example/ai-functions via pnpm tsx src/stream-text/script-name.ts. Le résultat est alors stocké dans le dossier /examples/ai-functions/output. Vous pouvez le copier dans votre dossier de fixtures et le renommer.
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' });
});