wavevision/nette-tests – pohodlné testování s phpunit

teekey99
Člen | 45
+
+3
-

Ahoj,

rád bych tu pro všechny, kteří k testování používají phpunit, nechal odkaz na naši knihovnu wavevision/nette-tests.

Co umí:

  • snadný setup DI containeru
  • injectování modelů v testech
  • runnery pro testování presenterů / komponent / formulářů
  • ready-to-use extrahování různých typů responses, nad kterým můžete provádět asserty
  • ready-to-use Http\Request mock (snadno nastavíte headers, files, isAjax atd.)

Ukázkové testy jsou (jak jinak) ve složce tests.

Snad se někomu bude naše knihovna hodit. Určitě se nebojte dát feedback!

Petr Parolek
Člen | 455
+
0
-

Ahoj, zajímavé řešení a alternativa k nette testeru. Jak řešíte u vás nahrávání testovacích dat v testech?

Marek Bartoš
Nette Blogger | 1275
+
+2
-

alternativa k nette testeru

Alternativa nette/tester je phpunit. Tahle knihovna používá phpunit a poskytuje nástroje pro testování jednotlivých nette balíčků pomocí phpunit.

Petr Parolek
Člen | 455
+
0
-

@Mabar ano nemyslel jsem přímo tuto knihovnu, ale phpunit

teekey99
Člen | 45
+
0
-

@ppar Můžeš být konkrétnější?

Jestli myslíš data do DB, používáme fixtures, které na sobě mají entity faker. Ten z metadat entity vytvoří testovací data. Takhle různý fixtures kombinujeme, abychom získali relace mezi entitami apod. V podstatě v sobě pak spojujem factories na různý typy entity, který se potom používají v rámci testovací DB (v podstatě kopie aktuální devové DB).

Pokud myslíš data třeba z uploadu, tak máme vytvořený file helpery, kde máme namapovaný různý typy souborů, např. valid PDF, invalid PDF, obrázek s rotací atd. atd. Helpery pak umožňují vytvořit ze souboru nette FileUpload a další, podle toho, co je potřeba testovat.

Petr Parolek
Člen | 455
+
0
-

Myslel jsem obyčejné nahrávání struktury testovací databáze a data v db (fixtures).