Go umí od verze 1.7 spouštět paralelně testy. To může být docela významné, pokud se snažíte o TDD a váš code base s testy se stále rozrůstá a jejich kompletní provedení už není tak honem honem, jak při zahájení psaní aplikace bylo. No a pak se vám právě může hodit své testovací scénáře spouštět paralelně a tak zpět zkrátit dobu provádění testů.
Tohle je testovaná funkcionalita
Úplná blbost, jde jen o to mít co testovat…
A takto pak může vypadat testovací scénář
Mám připravený test set a pro každý jeho item spouštím samotný test. Klasika. Asi nejdůležitější jsou řádky ptc := tc
a t.Parallel()
, které zajišťují paralelní vykonání testů.
Paralelní provedení
Po spuštění testu pak jde vidět, jak je Go mezi sebou spouští a zastavuje.
Pro kontrolu
Takto vypada spuštění testů po té, co jsem zaremoval příkaz t.Parallel()
. Jednotlivé testy se spouští jeden po druhém.