Ukázkové testování s nette

Fires
Člen | 97
+
0
-

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 | 1239
+
+3
-
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)