Fixtures de test synthétiques

VérifiéSûr

Génère N fixtures de test synthétiques selon un schéma défini, avec mode cas limites optionnel.

Spar Skills Guide Bot
TestingIntermédiaire
24/07/2026
Claude CodeCursorWindsurfCopilotCodex
#test-fixtures#synthetic-data#schema-based#edge-cases

Recommandé pour

Synthèse automatique

Génère N fixtures de test synthétiques correspondant à un schéma défini par l'utilisateur, avec un appel Jimmy par fixture, et un mode facultatif de cas limites pour des valeurs adverses.

Points forts

  • Génère rapidement des données de test structurées
  • Prend en charge plusieurs types de champs (email, URL, date, etc.)
  • Permet la génération de cas limites pour des tests adverses
  • Indépendance de chaque fixture limitant l'impact des échecs

Limites

  • Non adapté aux graphes d'objets profondément imbriqués
  • Ne peut pas garantir les contraintes de clés étrangères
  • Taux d'échec de parsing de 5 à 15 % pour les schémas complexes
Quand l'utiliser

Utilisez-le lorsque vous avez besoin de nombreuses fixtures conformes à un schéma pour des tests unitaires, l'amorçage de base de données ou les tests de contrat API.

Quand l'éviter

Évitez-le lorsque vous avez besoin d'un contrôle manuel précis des valeurs, de schémas imbriqués complexes ou de données relationnelles avec contraintes de cohérence.

Analyse de sécurité

Sûr
Score qualité85/100

The skill is a documentation for generating test fixtures using an external LLM service. It does not instruct destructive actions, exfiltration, or execution of arbitrary code. It only describes a process for generating structured data, which is innocuous.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Basic user fixtures
Generate 5 synthetic User fixtures with schema: { "username": "string", "age": "int", "active": "bool" }.
Edge-case product fixtures
Generate 10 Product fixtures with edge case mode enabled. Schema: { "name": "string", "price": "float", "quantity": "int" }.
Email and date fixtures
Please generate 3 synthetic fixtures with schema: { "email": "email", "registered_at": "date", "is_verified": "bool" }.

jimmy-testdata

Generate N synthetic test fixtures matching a user-defined schema — one Jimmy call per fixture, with optional edge-case mode for boundary and adversarial values.

When to use this skill

Use jimmy-testdata when you need structured test data that conforms to a schema and want to generate many fixtures quickly. Good for:

  • Unit test setup — "Give me 10 User objects with valid field values for my test suite"
  • Database seeding — "Generate 20 Product records for a development database"
  • Edge-case coverage — "Generate adversarial User inputs: empty names, max-int ages, invalid emails"
  • API contract testing — "Generate 15 request payloads matching my request schema"

Not suited for: generating large nested object graphs (keep schemas shallow — 5-10 fields), generating exact values you need to control manually, or generating relational data with foreign-key consistency constraints.

Note on reliability: Llama 3.1 8B (Jimmy) can produce invalid JSON, especially for complex schemas. jimmy-testdata requests one fixture per call (not batched) to minimize blast radius — a single bad call loses one fixture, not all N. Expect a ~5-15% parse failure rate on complex schemas; re-run the skill or accept partial results.

How parallelism works here

All N fixtures are generated in one --parallel call. Each array item contains one fixture prompt — Jimmy generates one JSON object per item. Parse failures produce error items; the skill never retries failed fixtures. See jimmy-testdata.md for full details.

Parameters

| Parameter | Required | Description | |-----------|----------|-------------| | schema | yes | Object mapping field names to types: { "field_name": "type" }. Supported types: string, int, float, bool, email, url, date, uuid. | | n | yes | Number of fixtures to generate (integer >= 1; practical max ~20). Each fixture is one Jimmy call. | | edge_case | no | Boolean, default false. When true, prompts Jimmy to generate boundary/adversarial values for each field based on its type (e.g., empty strings, max integers, invalid emails). | | max_concurrent | no | Maximum simultaneous HTTP requests. Default: 10. |

Output

JSON object with fixtures array and summary. Each fixture item has an index field. Successful items have fixture (the parsed JSON object). Failed items have fixture: null, error, error_type, and raw (Jimmy's raw response for debugging). When edge_case is true, the same output shape is returned but fixture values contain adversarial boundary values.

{
  "fixtures": [
    { "index": 0, "fixture": { "username": "alice", "age": 32, "active": true } },
    { "index": 1, "fixture": { "username": "bob", "age": 19, "active": false } },
    { "index": 2, "fixture": null, "error": "invalid JSON", "error_type": "parse", "raw": "Sure! Here is your object: {\"username\": \"carol\",..." }
  ],
  "summary": { "total": 3, "succeeded": 2, "failed": 1 }
}

Per-item parse failures set fixture: null, error, and error_type: "parse" without affecting other items. fixtures always has exactly N items.

Note: No automatic retry on parse failure. Re-invoke the skill with a lower n if partial results are insufficient.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/synthetic-test-fixtures-mryiqftl' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/synthetic-test-fixtures-mryiqftl/download' --output '.skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md.part' && mv '.skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md.part' '.skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires