Testy se ovliňují, tearDown nezafunguje, proč?

Damo
Člen | 62
+
0
-

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

IJVo
Člen | 40
+
+1
-

Použij Tester\Environment::lock

https://tester.nette.org/cs/helpers#…

Damo
Člen | 62
+
0
-

IJVo napsal(a):

Použij Tester\Environment::lock

https://tester.nette.org/cs/helpers#…

Perfektní, ted to funguje. Díky moc.