JustDummies

Juste des dummies, mais redoutablement efficaces.

Sections de la documentation

JD021 : BlankReplaySnippet

PropriétéValeur
CatégorieReproductibilité (JustDummies.Reproducibility)
Sévérité🟠 Avertissement
Activée par défautOui

Any.UseSeed(int, string) fournit le snippet de rejeu — le code qu’un lecteur copie pour rejouer l’exécution — que les conseils d’échec de génération citent tels quels. Un snippet vide est rejeté à l’exécution.

Ce qui justifie la vérification à la compilation, c’est cette levée atterrit. Cette surcharge existe pour un adaptateur de framework de test, qui ouvre la portée depuis un hook s’exécutant avant chaque test. Un snippet vide fait donc échouer toute la suite comme erreur d’infrastructure, et non une seule assertion — une façon disproportionnellement coûteuse d’apprendre une faute de frappe que le compilateur voit déjà.

Non conforme

using IDisposable scope = Any.UseSeed(1234, "");     // JD021
using IDisposable scope = Any.UseSeed(1234, "   ");  // JD021

Conforme

using IDisposable scope = Any.UseSeed(1234, "[Reproducible(Seed = 1234)]");

// Ou supprimez l'argument : le snippet par défaut nomme Any.Reproducibly(seed, ...).
using IDisposable scope = Any.UseSeed(1234);

Passez le code lui-même — un attribut avec son argument de graine, un réglage de lanceur — et non une phrase à son sujet. Il est cité tel quel dans le message d’échec.

Ce qui n’est pas signalé

  • Un snippet non constant.
  • Un test qui vérifie le rejet, où l’appel constitue tout le corps d’une lambda passée en argument. JustDummies.PropertyTests vérifie exactement cette garde.

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