Testování knihovních repositářů
- fary
- Člen | 155
Napsal jsem si jednu malou Repository třídu, kterou bych ale nechtěl mít
jako přímou součást aplikace, ale spíše bych ji rád zařadil do jedné
knihovny, kterou bych, podobně, jako Nette, zařadil do adresáře libs, popř.
vendor. Celá třída má pak sloužit jako nadtřída pro aplikační
repositáře v modelu aplikace a tyto repositáře pak budou injektovány do
presenterů, kde pak už budou pouze volány metody těchto repositářů, jako
např. $this->articleRepository->findById($id)
. Chtěl bych
se zeptat, jak mohu funkčnost této třídy vyzkoušet, když je to vlastně
knihovna a není součástí žádné aplikace?
Samotné aplikační repsitáře lze testovat v rámci dané aplikace, ale jak mohu otestovat ten knihovní repozitář, aniž bych pro něj musel konstruovat speciální aplikaci a tyto testy mít samozřejmě jako součást knihovny? Na githubu jsem si všiml, že Nette také neobsahuje testy např. pro \Nette\Database nebo \Nette\Application.
- Tomáš Votruba
- Moderator | 1114
Ad github, Nette bylo rozděleno na samostatné balíčky
Testy k Application najdeš v samostatném repositáři Nette\Application
- Filip Procházka
- Moderator | 4668
Je možné, že jsem tu otázku nespecifikoval dostatečně srozumitelně (což se mi často stává :-) ). Opravdu bych ocenil jakoukoli radu.
Možné to je. Stejně tak je možné že za ty 4 hodiny kdy jsi netrpělivě mačkal F5 se prostě nikdo nedostal k tomu aby ti v neděli odpoledne stihl odpovědět :)
Použij nette/tester a napiš testy k tvé knihovně. Na to nemusíš psát celou aplikaci. Pokud si to hodíš veřejně na github tak si navíc můžeš testy nechat pouštět přes Travis.
Nette obsahuje testy téměř na všechno, ale protože bylo nedávno
rozděleno do více repozitářů, tak ty testy jsou v repozitářích do
kterých patří. Tedy v repozitáři nette/nette
toho moc
nezbylo, protože je to jinde :)