🧪 Tests

mock-designer

Conception de mocks, stubs et fakes pour les tests unitaires et d'intégration avec les principaux frameworks de mocking.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- mock-designer --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } mock-designer -Launch"

🚀 Déjà installé ?

claude "/mock-designer"

Ou tapez /mock-designer dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

mockstubfakeMoqNSubstituteMockitojest.mock

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/testing-skills/mock-designer ~/.claude/skills/

Source : testing-skills/mock-designer

📖 Manuel

Mock Designer

Workflow

  1. Identifier les dépendances à simuler — Analyser le code sous test pour repérer les dépendances externes (bases de données, APIs, systèmes de fichiers, services tiers). Déterminer le type de test double approprié : mock, stub, fake ou spy.
  2. Choisir le framework de mocking — Sélectionner l'outil adapté au langage : Moq ou NSubstitute pour .NET, Mockito pour Java, jest.mock ou sinon pour JavaScript/TypeScript, unittest.mock pour Python. Configurer le framework dans le projet.
  3. Concevoir les stubs pour les données — Créer des stubs qui retournent des données prédéfinies pour isoler le comportement du code sous test. Définir les valeurs de retour pour chaque scénario (succès, erreur, cas limites).
  4. Implémenter les mocks avec vérifications — Configurer les mocks pour vérifier les interactions : nombre d'appels, arguments passés, ordre d'appel. Utiliser Verify() (Moq), verify() (Mockito) ou expect().toHaveBeenCalledWith() (Jest).
  5. Créer des fakes pour les tests d'intégration — Développer des implémentations in-memory (repositories, caches, file systems) pour les tests d'intégration légers. Implémenter les mêmes interfaces que les dépendances réelles.
  6. Gérer les scénarios d'erreur — Configurer les test doubles pour simuler les exceptions, timeouts, réponses HTTP en erreur et états incohérents. Vérifier que le code sous test gère correctement ces cas.
  7. Organiser et réutiliser les test doubles — Centraliser les builders et factories de mocks dans des fichiers partagés. Utiliser le pattern Builder pour créer des configurations de mocks lisibles et réutilisables.

Règles