Začátek s testováním – co k Seleniu
- newPOPE
- Člen | 648
Tak to prajem vela stastia :-). #joke
My sme pouzivali pre Selenium testovanie:
- Selenium 2
- PHP Webdriver od Facebooku (https://github.com/…hp-webdriver + vlastny fork)
- a nakoniec nejaka ta architektura Selen… testov lebo sa moze stat, ze sa do par dni, hodin zamotas a uz to nebudes chciet prepisovat.
K tej architekture doporucujem:
- llook
- Člen | 407
Nedoporučoval bych začínat rovnou Seleniem. Kromě toho, že se budeš učit psát testy, tak tě bude brzdit spousta problémů okolo. Taky za mnohem důležitější považuju jednotkové a integrační testy modelu.
K té architektuře, silně doporučuju následovat návrhový vzor Page Object. Tzn. zavést jednu vrstvu mezi testy a HTML, abys kvůli předělávkám HTML nemusel opravovat všechny testy, ale jenom tu mezivrstvu: https://code.google.com/…/PageObjects
My na to máme takovou pomocnou knihovnu. Ještě není ve stavu, v jakém bych ji doporučil k nasazení, ale tak aspoň pro inspiraci: https://github.com/Clevisaci/Se34
- Jan Tvrdík
- Nette guru | 2595
@Dell: Myslím že @llook chtěl napsat přesně to, co napsal :) Integrační testy modelu ověřují, že spolu jednotlivé komponenty modelu spolupracují dobře. Už ale např. netestují spolupráci modelu s presentery.
- llook
- Člen | 407
Já beru model jako dost autonomní celek. Proto by mi naopak bylo proti srsti spoléhat na to, že mám funkčnost modelu pokrytou testem většího celku, který je k němu ve vztahu has-a.
Jde třeba o takové ty testy, které ověřují, že nemám logické chyby v SQL dotazech. Potřebuju k tomu opravdovou databázi (resetovanou do známého stavu), potřebuju všechny objekty, které se na sestavování toho kterého dotazu podílí, ale už nepotřebuju zbytek aplikace. Zato potřebuju, aby to běhalo pokud možno rychle, abych si mohl dovolit testovat i různé hraniční situace.