Nette, testování/mockování a final

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

Ahoj,
docela bojuji s testování vzhledem k Nette – spousta věcí je final a tak nejde namockovat tak, aby prošla přes typehinting. Používám Mockery, ale ač je to super addon, tohleto není schopný řešit

V některých případech asi cesta kolem je, ale asi ne vždy

Příklad:

Testování formuláře/komponenty – chci odstínit od presenteru, ale konstruktor má typehint a presenter obsahuje final metody (plus to doporučení striktně abstract/final) – nevidím žádné možnost jak tohoto docílit

Je tedy nějaké řešení? Jsou final dostatečně výhodné aby znepříjemňovaly (znemožňovaly?) unittesting?

plus https://forum.nette.org/…rdni-servicy (bump)

Díky za názory/rady

Filip Procházka
Moderator | 4668
+
0
-

Když je třída final, nic s tím neuděláš, brání ti v tom jazyk a s tím knihovna nic nezmůže.

Napiš příklad, jak by jsi si představoval testování takové komponenty. Ideálně nějaký problémový.

mkoubik
Člen | 728
+
0
-

Problém bych viděl spíš v tom typehintingu, který místo rozhraní požaduje konkrétní třídu.