JustDummies

Juste des dummies, mais redoutablement efficaces.

Sections de la documentation

JD019 : CommittedReplaySeed

PropriétéValeur
CatégorieReproductibilité (JustDummies.Reproducibility)
Sévérité🔵 Info
Activée par défautNon — opt-in

Les surcharges avec graine existent pour rejouer une exécution qu’un échec a rapportée. C’est correct pendant qu’on reproduit, et faux dès que c’est committé : le test tire alors les mêmes valeurs pour toujours, et cesse de révéler la dépendance à une valeur particulière que l’« arbitraire par défaut » existe pour mettre au jour.

C’est le fit/.only de cette bibliothèque — juste sur le moment, faux dans le dépôt.

Comment l’activer

dotnet_diagnostic.JD019.severity = warning

Non conforme

[Fact, Reproducible(Seed = 1234)]        // JD019
Any.Reproducibly(1234, () => { ... });   // JD019
Any.WithSeed(1234)                       // JD019

Conforme

[Fact, Reproducible]
Any.Reproducibly(() => { ... });

Pourquoi elle est livrée en opt-in

Parce que le guide de maintenance de ce dépôt prescrit l’inverse pour toute une classe de tests : « Pin a seed for anything statistical. » Une règle activée par défaut combattrait une pratique documentée.

La mesure est sans appel. Activée sur JustDummies.UnitTests, elle signale 238 sites — presque tous légitimes, des épinglages délibérés sur des tests de distribution et de couverture. Elle gagne sa place comme balayage d’avant-livraison qu’on active exprès, pas comme vérification permanente.

Ce qui n’est pas signalé

  • Une graine lue depuis une configuration, calculée, ou passée en paramètre — seule une constante de compilation est signalée.
  • Les surcharges sans graine, qui sont le chemin arbitraire par défaut.

Lire la source, ou la corriger là-bas ouvre un nouvel onglet· Repris depuis lib-v1.0.0-preview.6