Ukázkové testování s nette
- Fires
- Člen | 97
zdravím, může se někdo podělit o nějaký repo kde máte vyřešené testování nette aplikace? Jde mi o to jak správně napojit di container. Bohužel forum ani dokumentace nepomohla. V dokumentaci jsem o samotném nette ani zmínku nenašel. Chtěl bych vidět jak správně získat například facade z containeru a jak nad ním provádět testování. Děkuji
- Marek Bartoš
- Nette Blogger | 1264
services:
- App\Service
$configurator = \App\Bootstrap::boot();
$container = $configurator->createContainer();
$service = $container->getByType(\App\Service::class);
Pokud máš option di > export > types: false
, tak takto.
Bez types nefunguje getByType()
services:
service.key: App\Service
$configurator = \App\Bootstrap::boot();
$container = $configurator->createContainer();
$service = $container->getService('service.key');
Samotné testování už pak nezávisí na Nette a podle toho, zda
používáš nette/tester, phpunit nebo jiné zavoláš v testz něco
jako self::assertSame('expected data', $service->someMethod())
Databáze se většinou testuje tak, že máš oddělenou databázi pro testy, před testy spustíš migrace a v rámci testu databáze běží v transakci, pro kterou na konci testu uděláš rollback. Ale pozor, pokud máš mysql a ne postgre, tak kupříkladu změna struktury tabulek v transakci nefunguje
Editoval Marek Bartoš (9. 11. 2022 15:29)