Generujeme testovací data v JavaScriptu – zopakovatelně

V předchozím článku jsme se podívali na to, jak generovat testovací data v Javascriptu. Bohužel jsme náhodným generováním porušili testovací princip FIRSTRepeatable – zopakovatelný. Pojďme to tedy napravit.

Faker.js umožňuje nastavit tzv. seed neboli počáteční číslo pro pseudonáhodný generátor čísel.

Díky možnosti nastavení seedu je možné celý test při uvedení počátečního čísla vždy deterministicky zopakovat.

Bohužel teď nám ale bude trpět DX – Developer eXperience, neboť budeme muset nastavit počáteční čislo vždy ručně a také nebudeme vědět jaké bylo zrovna pro konkrétní test použito. Pojďme si na to napsat funkci:

Tento malý helper nám umožní:

  1. Vypsat aktuálně nastavenou počáteční hodnotu Fakeru.
  2. Zopakovat test s konkrétní počáteční hodnotu Fakeru.

Pro zopakování testu je nutné akorat předat FAKER_SEED=100 jako Environmentální proměnnou při spouštění testu.

> FAKER_SEED=100 jest faker.test.ts

Zavedením náhodných testovacích dat a možností určení počáteční hodnoty jsme vylepšili Repeatability – zopakovatelnost v testech a zachovali Developer eXperience.