contract-fidelity-lens

Lentille de revue conditionnelle : audite les tests de contrat côté fournisseur selon cinq gates de fidélité — activée uniquement quand le diff touche un contrat, un appel VerifyAsync, ou un scaffold de test de contrat fournisseur.

Quand elle s’active

Activée par software-engineer-reviewer uniquement quand le diff examiné touche :

Ce n’est pas une des lentilles de revue CORE. Elle rejoint le panel adverse conditionnellement, en tant que lentille de capacité.

Entrées

Sortie

{
  "lens": "contract-fidelity",
  "verdict": "pass | fail",
  "defects": [{ "id": "D<N>", "gate": "K<N>", "severity": "blocker | high", "location": "fichier:ligne", "description": "...", "suggestion": "..." }]
}

Gates

Gate Vérification Sévérité
K1 Baseline WebApplicationFactory + HttpClient présent blocker
K2 Couche Microcks correspond à l’opt-in high
K3 TestResult.Success non supprimé quand opt-in activé blocker
K4 Contrat de réponse asserté (code de statut, content type, forme ProblemDetails) high
K5 Pas de fuite d’appel aval réel blocker

Note K3 : VerifyAsync est une assertion côté consommateur (mock appelé) et ne remplace PAS l’assertion du résultat TestEndpointAsync.

Invariants

Pourquoi cette forme

Un test de contrat fournisseur qui n’affirme pas son résultat donne une fausse confiance. Chaque gate ferme un mode de défaillance courant silencieusement introduit sous pression temporelle.

« Replace a component that the SUT depends on with a test-specific equivalent. » — Meszaros, G., xUnit Test Patterns, 2007.

Voir aussi