Pořadí testů, proč se některé spouští v jiném pořadí než jsou psány
- Damo
- Člen | 56
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 | 505
@Damo Nepíšeš, jestli používáš Nette Tester nebo PHPUnit, takže předpokládám spíš Nette Tester.
V 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
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ě.