characterize-with-contracts

Réutilise la machinerie roster/adapter de contract-testing-roster et mocking-strategy-roster, mais avec l’intention inverse : encoder ce que le code FAIT réellement, maintenant, pour vérifier qu’un refactor ne change pas le comportement.

Quand l’utiliser

Contrat d’entrée

Contrat de sortie

Invariants

Pourquoi cette forme

Un test de caractérisation encode le comportement actuel exact (status, forme, valeur) — golden master — pour qu’un refactor soit vérifié non-régressif. Le contrat, découvert ou reconstruit, est le langage commun entre l’ancien et le nouveau comportement.

« Consumer-driven contracts let the consumer specify what it needs from a provider. » — Newman, S., Building Microservices, 2nd ed., 2021.

Customisation autorisée

Voir aussi