Jak testujete? Nette Tester vs. PHPUnit showdown
- looky
- Member | 99
Zdravím. Aktuálně ve firmě používáme k testování Nette Tester, ale zvažujeme přechod na PHPUnit, a rádi bychom znali názory a zkušenosti ostatních než se do něčeho pustíme. Jak testujete vy? Jak řešíte situace, kdy váš nástroj něco neumí (například přidání vlastních assertů, pluginů..). Co používáte k mockování závislostí, a jste s tím spokojeni? Jak jste na tom se zapojováním nových programátorů, myslíte že je jednodušší naučit se tester nebo unit?
TLDR Má smysl věnovat čas přechodu na PHPUnit, nebo zůstat u Testeru a případně ho dále rozvíjet (ve formě pull requestů), pokud nám v něm něco nebude stačit.
- Tomáš Votruba
- Moderator | 1114
Ahoj, PHPUnit má jen jinou syntaxi (asserty jsou většinou stejné, má jich pár navíc), takže přejít není složité. Spíš bych zvážil důvody, proč vlastně přecházet.
Pro mě to bylo přiblížení se světovému standardu, snazší přístup
k open-source, rychlejší pochopení jak open-source projekty fungují a
snazší opravda v případě nutnosti.
Např. rozbije se něco v Guzzlu ⇒ mrknu na testy ⇒ je to PHPUnit ⇒
pošlu failující test – někdo to opraví. V případě Nette Testeru
tohle tak jednoduché není.
Takže: co ti teď chybí a co potřebuješ?
- enumag
- Member | 2118
Osobně používám Codeception. Běží nad PHPUnit a přináší nějaké věci navíc – např. poměrně jednoduché akceptační testy.
Mezi PHPUnit a Nette Testerem bych volil Tester. Mezi Testerem a Codeception volím Codeception. PHPUnit neumí dost věcí navíc aby mi to obhájilo ztrátu jednoduchosti Testeru. Codeception už ano.
K mockování zásadně Mockery, ale také se mi poměrně líbilo Prophecy (nezkoušel jsem).
Last edited by enumag (2016-01-26 07:36)
- pata.kusik111
- Member | 78
Souhlasím s @enumag ohledně Codeception. Nicméně k mockování bych ještě dodal jako možnost AspectMock, který mockuje pomocí AOP. Došáhne to na věci, na které je Mockery krátké. V současnosti používám kombinaci Mockery a AspectMock podle potřeby.