Mockování Nette Presenterů

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
finwe
Člen | 58
+
0
-

Chci se zeptat, jestli někdo nemáte zkušenosti s mockováním nette presenterů (PHPUnit). Potřebuju presenter použít jako parametr v testu metody helperu, který generuje mj. odkazy.

Už jsem zjistil, že přes MockBuilder mock nevytvořím, bo presentery mají zakázaný __wakeup, a když ho vytvořím přes getMock s předáním parametrů do konstruktoru (máme konstruktor s parametry, které poksytuje DIC), a použiju jako parametr, tak se jeho metody (getParam, link) vůbec nezavolají – ani jako namockované, ani jako nenamockované.

Filip Procházka
Moderator | 4668
+
0
-

Řešením je mít v type hintu Nette\Application\IPresenter a mockovat pouze interface.

Jan Tvrdík
Nette guru | 2595
+
0
-

Zkoušel jsi mocknout pouze vybrané metody?

finwe
Člen | 58
+
0
-

Yep, jen vybrané metody.

IPresenter byl správný směr (i když jsem pro další potřeby musel nechat i „opravdový“ mock, kvůli typehintingu v jiných metodách). Díky.