Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Třídy, dědičnost a OOP v Javascriptu - I

Aleš Roubíček
Aleš Roubíček (neregistrovaný) ---.47.broadband3.iol.cz
15. 3. 2010 6:49

Pěkný článek + malá výtka k testům

Ahoj Dane, pěkný článek, už se těším na další díly. Doufám, že to ostatním pomůže prorazit do JS stejně jako mně tvoje přednáška před lety. :)

Mám jen jednu výtku. Stále dokola opakuješ, že privátní/lokální členy nejdou testovat. Pokud budu považovat testování = jednotkové testování, pak je tato vlastnost zcela žádoucí. Testování privátních členů je test smell. :) Privátní členy netestujeme, protože jejich chování se může měnit – ostatně proto jsou privátní. Funkčnost privátních členů testujeme pomocí chování objektu navenek. Pokud je nedokážeme v testech veřejného rozhraní otestovat, pravděpodobně jde o zbytečné členy… :)

Michal Augustýn
15. 3. 2010 8:22

Re: Pěkný článek + malá výtka k testům

Jojo, vidím to stejně :)

Daniel Steigerwald aura:52
15. 3. 2010 11:58

Re: Pěkný článek + malá výtka k testům

Díky Aleši za komentář, tuhle výtku sem popravdě čekal :) Ano, máš pravdu, privátní členy bychom testovat neměli, v ideálním světě. Sám ale píšeš: „Sice to je ukázka toho, že něco smrdí, ale stejně se to občas může hodit“. To je i můj názor. Kdyby článek byl vyčerpávají, musel bych dodat, neotestujete, protože Javascript žádnou reflexi na lokální členy nemá. Je jasné, že dříve nebo později se s nutností otestovat privátní členy setkáme. Prostě proto, že testy psané proti veřejnému API, by byly příliš vyčerpávající, nebo nepřesné. Pokud máš třídu chlap, s veřejnou metodou sbalHolku, a ta veřejná metoda volá privátní metody: vykoupej se, nauč se Gutha Jarkovského, atd., tak je rychlejší, přesnější a snadnější otestovat jednotlivé kroky, než slepě celou metodu sbalHolku. Kdybys ty metody schoval v closure, už je nikdy neotestuješ. Nicméně, testování zdaleka není jediným důvodem, jak ukáže druhý díl článku.

Aleš Roubíček
Aleš Roubíček (neregistrovaný) 193.165.135.---
15. 3. 2010 13:07

Re: Pěkný článek + malá výtka k testům

Ano, psal jsem před dvěma a půl lety. :) Navíc u metod vykoupej se a nauč se Gutha Jarkovského není žádný důvod ke skrývání, tyto mohou být klidně veřejně vystaveny a tudíž jdou snadno otestovat.

MD
MD (neregistrovaný) 194.213.198.---
15. 3. 2010 13:26

Re: Pěkný článek + malá výtka k testům

Nevim, proc by mely byt verejne vystaveny, kdyz nemusi. Jen kvuli testovani? Zvlastni pristup…

Aleš Roubíček
Aleš Roubíček (neregistrovaný) 193.165.135.---
15. 3. 2010 13:36

Re: Pěkný článek + malá výtka k testům

Páč asi se nebudete mýt pouze v případě že budete balit ženu, že? Stejně tak platí i druhý případ. U těchto metod není žádný důvod je skrývat a s testováním to nemá nic splečného. On je to totiž nešťastně zvolení příklad. Zbal ženu by bylo lepší implementovat jako Command pattern s injektovanou strategií. ;)

Borek Bernard aura:66
17. 3. 2010 1:26

Re: Pěkný článek + malá výtka k testům

To, že testy poněkud ovlivňují veřejné API, je běžné. Někdo to považuje za přirozené, někdo za špatné, ale změna API kvůli testům rozhodně není nic neobvyklého.

Zasílat nově přidané příspěvky e-mailem