mocking-microcks-dotnet
Adaptateur .NET par défaut : simule une dépendance aval depuis son contrat OpenAPI/examples via un
MicrocksContainerEnsemble, et câble le client du SUT sur l’endpoint mock.
Quand l’utiliser
- Quand mocking-strategy-roster a résolu
(microcks, .NET) - Configurer un
MicrocksContainerEnsemblealimenté depuis le contrat de la dépendance aval - Pointer le
HttpClientdu SUT vers l’endpoint mock Microcks viaUseSetting
Contrat d’entrée
- Stratégie résolue comme
microcks, stack comme.NETpar mocking-strategy-roster - Chemin de l’artefact OpenAPI / examples de la dépendance aval
- Clé de configuration du SUT pour l’URL de base aval (pour
UseSetting)
Contrat de sortie
{Sut}WebApplicationFactory<TProgram>avecMicrocksContainerEnsemble+WithMainArtifacts(...)+GetRestMockEndpoint(name, version)→UseSetting- Bloc de résultat structuré :
strategy,stack,files[],testCommand
Invariants
- Simuler la dépendance aval, pas le SUT — le conteneur remplace ce que le SUT appelle
GetRestMockEndpoint(name, version)— note :+encode un espace dans le nom du service (ex."API+Pastries")VerifyAsync/GetServiceInvocationsCountAsync— côté consommateur uniquement : affirmer que le mock a été appelé ; PAS la conformité de contrat fournisseur- NuGet :
Microcks.Testcontainers+Testcontainers(ne pas référencer les packagesTestContainersnon liés) - Commande de test via resolving-stack-commands — ne jamais coder en dur
dotnet test
Pourquoi cette forme
Un conteneur Microcks rejoue les exemples du contrat publié de la dépendance aval comme un mock réel, s’assurant que la sérialisation et le routage du client du SUT correspondent à ce que le contrat spécifie — sans couplage à un vrai service réel.
« Consumer-driven contracts let the consumer specify what it needs from a provider. » — Newman, S., Building Microservices, 2nd ed., 2021.
Customisation autorisée
- Version de l’image Microcks dans le constructeur
MicrocksContainerEnsemble(L1) - Artefacts supplémentaires via
WithMainArtifacts(...)pour des scénarios multi-dépendances (L2)
Voir aussi
- mocking-strategy-roster — Résout
(stratégie × stack)et pointe vers cet adaptateur - mocking-inprocess-dotnet — Adaptateur en surcharge (in-process) pour le même stack .NET
- contract-testing — Authoring du contrat aval qui alimente ce mock
- resolving-stack-commands — Résout la commande de test
- software-engineer — Agent DELIVER qui déclenche le worker qui charge ce skill