JustDummies

Just dummies — but seriously powerful ones.

Documentation sections

JD019: CommittedReplaySeed

PropertyValue
CategoryReproducibility (JustDummies.Reproducibility)
Severity🔵 Info
Enabled by defaultNo — opt-in

The seeded overloads exist to replay a run a failure reported. That is correct while you are reproducing and wrong the moment it is committed: the test then draws the same values for ever, and stops surfacing the dependency on one particular value that arbitrary-by-default exists to reveal.

It is the fit/.only of this library — right in the moment, wrong in the repository.

Enabling it

dotnet_diagnostic.JD019.severity = warning

Noncompliant

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

Compliant

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

Why it ships opt-in

Because this repository’s own maintainer guide instructs the opposite for a whole class of tests: “Pin a seed for anything statistical.” A rule enabled by default would fight documented practice.

The measurement is blunt. Enabled across JustDummies.UnitTests, it reports 238 sites — nearly all of them legitimate, deliberate pins on distribution and coverage tests. It earns its keep as a pre-release sweep you turn on deliberately, not as a standing check.

What it does not flag

  • A seed read from configuration, computed, or passed as a parameter — only a compile-time constant is reported.
  • The seedless overloads, which are the arbitrary-by-default path.

Read the source, or correct it there opens in a new tab· Mirrored from lib-v1.0.0-preview.6