Pořadí testů, proč se některé spouští v jiném pořadí než jsou psány

Damo
Člen | 56
+
0
-

Ahoj, nevíte proč mi v testcasu nespouští testovací metody v pořadí jak jsou napsány, ale např. vezme 2 někde z prostředka a pak zase jede od začátku.

př. mám testy v pořadí

testShouldGetJson.....1
testShouldGetJson.....2
testShouldGetJson.....3
testShouldGetJson.....4
testShouldGetJson.....5

ale testy se mi spustí v pořadí
3,4,1,2,5

vzhledem k tomu ze test 3 je závísly na výsledném stavu, tak mi to celé popadá.

Díky za radu

Editoval Damo (25. 1. 2023 11:09)

nightfish
Člen | 518
+
+3
-

@Damo Nepíšeš, jestli používáš Nette Tester nebo PHPUnit, takže předpokládám spíš Nette Tester.

dokumentaci se píše: Doporučujeme na začátek testu napsat anotaci @testCase, potom bude spouštěč testů z příkazové řádky pouštět jednotlivé metody testcase v samostatných procesech a paralelně ve více vláknech. To může výrazně urychlit celý proces testování.

Pokud používáš anotaci @testCase, tak ji můžeš zkusit odstranit.
Lepší však bude upravit testy tak, aby nebyly závislé na pořadí spouštění test*() metod – to je z mého pohledu zásadní chyba.

Damo
Člen | 56
+
0
-

Jsou to seriové testy v nette tester. Určitě nelze spustit paralelně. Takže budu muset upravit, aby byly navzájem nezávislé. Šlo mi jen o to, proč výtah těch metod z třídy má jiné pořadí, jestli lze to pořadí ovlivnit. Proč jeden testcase jede ve správném pořadí a jiný přeházeně.