Testy se ovliňují, tearDown nezafunguje, proč?
- Damo
- Člen | 62
Podle doku https://tester.nette.org/en/testcase
je pořadí testu voláno takto
/*
Method Call Order
-----------------
setUp()
testOne()
tearDown()
setUp()
testTwo()
tearDown()
*/
Děje se mi, ale něco jiného
pokud to vezmu k tomu příkladu, tak to vypadá, že tester vezme vsechny
metody testu testOne a testTwo, vykona je za sebou, registruje asserty a pak je
opět iteruje nad temi testy.
takže asi takto
setUp()
testOne()
setUp()
TestTwo()
a poté volá jen asserty
testOne()
tearDown()
TestTwo()
tearDown()
oba testy pracuji s jednou entitou, kterou zapisuji do DB
v tearDown mam ze po sobe ten test uklidi, tedy odebere tu entitu z DB, aby
dalsi test mel opet cistou DB
ale problém je v tom, že testTwo ktery entitu opět vklada do DB pak padá,
protoze v DB ta entita existuje. Z toho mi vyplývá, že tearDown
přechozího testu nemohl být zavolán.
Kdyz volám testy samostatně jsou OK, když za sebou, tak druhý padá.
Co dělám špatně?
Díky za rady