Deterministic Test Data for CI
Test fixtures should be identical on every run. SimpleIDGen is deterministic by seed — the same seed produces the same people, byte for byte — so you can pin a dataset once and rely on it across your suite and CI, without copying production data or fighting random fixtures.
The sample is a stable, no-login fixture. Generate custom seeds and sizes from a free account →
Generation is fully reproducible: a given seed always yields the same records, in the same order, with the same values. Pin a seed for a suite and the fixture never drifts — so a failing test means your code changed, not the data. Different seeds give independent, non-overlapping populations when you want variety.
The free 1,000-row sample is itself a fixed artifact — commit it as a fixture, or pull it in a setup step, and every run sees identical data.
| Approach | Problem in CI |
|---|---|
| A copy of production data | Compliance risk, and the data shifts as prod changes — flaky, non-reproducible tests. |
| Random fakers | Non-deterministic unless seeded, and fields are independent — a 24-year-old with stage-3 CKD breaks realistic assertions. |
| Hand-written fixtures | Tiny, unrealistic, and tedious to maintain at scale. |
| SimpleIDGen | Deterministic, calibrated, and as large as you need — a fixture that looks like real people and never drifts. |
Yes — the generator is deterministic by seed. The same seed yields identical records every time, so fixtures don't drift between runs.
The 1,000-row sample needs no signup and never changes — ideal as a committed fixture. For custom seeds and sizes, a free account generates up to 5,000 rows per day.
Any integer works; reuse the same one for a stable fixture, or vary it for independent populations. The seed is part of the generation request and is recorded in the dataset manifest.
CSV and JSONL — drop straight into a database seed step, a test fixture, or a data pipeline.