mocking-strategy-roster
Deux axes orthogonaux — stratégie (microcks inprocess) × stack : le point central qui résout comment une dépendance aval est simulée pour un test d’intégration.
Quand l’utiliser
- Avant d’émettre le câblage de mock aval — chargé par mock-integration-worker
- Déterminer s’il faut utiliser un conteneur Microcks (défaut) ou un test double en mémoire (surcharge)
- Ajouter un adaptateur de stack (ajouter une ligne + un skill
mocking-{strategy}-{stack}, zéro autre modification)
Contrat d’entrée
- Prompt d’exécution (peut porter une surcharge de stratégie/bibliothèque — priorité la plus haute)
.github/instructions/skraft.instructions.mdchampstesting.mocking.strategyettesting.mocking.library(lus par appel outil, jamais rappelés)
Contrat de sortie
- Lien d’adaptateur résolu (ex. mocking-microcks-dotnet ou mocking-inprocess-dotnet)
- OU : payload
status: blockedavectypeetcontextsi la stratégie/bibliothèque/stack n’est pas supportée
Invariants
- Lire les surcharges par appel outil — jamais depuis le rappel ; si le fichier est absent, utiliser le défaut
microcks - Cascade : prompt explicite >
skraft.instructions.mdtesting.mocking.*> défautmicrocks - Stratégie inconnue → stop — émettre
status: blockedavectype: unsupported_mocking_strategy; ne jamais inventer un câblage - Bibliothèque inconnue quand
strategy: inprocess→ stop — émettrestatus: blockedavectype: unsupported_mocking_library - Ajouter une stratégie ou un stack = un adaptateur + une ligne de table — zéro modification de ce skill ou du worker
Pourquoi cette forme
Centraliser la décision de routage évite que chaque worker encode une approche de mocking. Les deux axes (stratégie et stack) sont indépendants : un nouveau stack s’insère sans toucher à la logique de stratégie, et vice-versa.
« Replace a component that the SUT depends on with a test-specific equivalent. » — Meszaros, G., xUnit Test Patterns, 2007.
Table des adaptateurs
| Stratégie | Stack | Adaptateur | Statut |
|---|---|---|---|
| microcks | .NET | mocking-microcks-dotnet | supporté |
| inprocess | .NET | mocking-inprocess-dotnet | supporté |
| microcks | Java | (mocking-microcks-java non encore fourni) | NON SUPPORTÉ |
| inprocess | Java | (mocking-inprocess-java non encore fourni) | NON SUPPORTÉ |
Customisation autorisée
- Adaptateurs de stratégie/stack ajoutés indépendamment (aucune modification de ce skill ou du worker)
Voir aussi
- mocking-microcks-dotnet — Adaptateur par défaut (Microcks) pour .NET
- mocking-inprocess-dotnet — Adaptateur en surcharge (in-process) pour .NET
- software-engineer — Agent DELIVER qui déclenche le worker qui charge ce skill