mrtnzlml-archive / testbench

:green_apple: Simple integration testing tool for Nette applications
http://zlml.cz/jednoduche-testovani-pro-uplne-kazdeho
41 stars 13 forks source link

Špatná databáze v aplikaci pokud není použit EM v testech #8

Closed mrtnzlml closed 8 years ago

mrtnzlml commented 8 years ago

Pokud se aplikace připojuje k databázi pomocí EM a v testech není EM potřeba, tak se neprovede lazy connect na novou databázi, ale na původní. Aplikace tedy využívá svojí výchozí databázi, testy však testují proti 'db_tests_' . getmypid():

use \Testbench\TDoctrine;
$control->render(); //control pracuje s originální databází - ERR
$this->getEntityManager(); //nastaví se db_tests_* (lazy)

Což není dobře. Správně se to chová v opačném případě:

use \Testbench\TDoctrine;
$this->getEntityManager(); //nastaví se db_tests_* (lazy)
$control->render(); //control pracuje s db_tests_* databází - OK

Řešení?

mrtnzlml commented 8 years ago

Nepodařilo se mi zopakovat.