PHPUnit anotacija i imitacija

Treći deo serije članaka o PHPUnit-u na SitePoint blogu je objavljen u kojem autor ovoga puta objašnjava anotaciju (annotation) testova i korišćenje imitacije (mocking) u testovima. Ova dva PHPUnit alata služe za jednostavnije i efikasnije pravljenje unit testova. Za podsetnik, prvi deo je uvod u PHPUnit, dok se drugi deo bavi PHPUnit assertion-ima.

Anotacija služi za lakše definisanje kako se testovi generišu i izvršavaju. Ukoliko se na određeni način anotiraju, obeleže metode klase, koju treba testirati, PHPUnit-ov generator testova može da izgeneriše "skelet" tog testa što ubrzava pisanje testova. S druge strane, anotiranjem samih testova, može da se utiče na izvršavanje tih testova.

U slučaju da objekat koji se testira, zavisi od nekog drugog objekta, taj drugi objekat se putem imitacije, mocking-a, može zameniti "lažnim" objektom i tako uštedeti na vremenu i memoriji potrebnoj za izvršavanje testova. Imitiacija se najčešće koristi da bi se izbeglo konektovanje na server baze podataka i moguće dugotrajno čekanje da se upiti izvrše.

PHPUnit assertion-i

Kao drugi deo uvoda u PHPUnit (prvi deo možete pogledati ovde), na SitePoint blogu je objavljen članak koji detaljnije objašnjava assertion-e u PHPUnit-u. Pomoću assertion-a se može utvrditi, na primer, da li su vrednosti dve promenljive jednake, manje ili veće, da li su istog tipa, da li neka promenljiva ima vrednost null, da li je true ili false...

Članak takođe objašnjava kako se može označiti neki test kao nedovršen, kako PHPUnit ne bi prijavljivao greške za testove koji nisu dovršeni, ili kako se može preskočiti neki test u slučaju neke greške koja je izvan opsega testiranja, kao npr. neuspela konekcija na bazu.

Uvod u PHPUnit

Unit testiranje je testiranje aplikacije deo po deo, tako što se za svaku funkcionalnost  naprave testovi. Jedan od najboljih alata za unit testiranje PHP aplikacija i skripti je PHPUnit. Na SitePoint blogu je postavljen novi tutorijal koji bi trebao da vas uvede u svet unit testiranja PHP-a pomoću PHPUnit-a.

Članak objašnjava kako se intalira PHPUnit, daje pokoji primer kako se pišu testovi i kako ih treba pokrenuti, te na šta treba obratiti pažnju prilikom pisanja istih.

PHPUnit podsetnik

Giorgio Sironi je objavio podsetnik za PHPUnit za slučajeve da zaboravite sintaksu za pravljenje mock-ova i stub-ova, kako radi neka opcija iz komandne linije ili da na jednom mestu pregledate sve vrste assertion-a. Ovaj cheat-sheet od 6 strana sa primerima koda, takođe objašnjava i testove i output testova.

U slučaju da još niste počeli sa unit testiranjem, ili želite da saznate više, pogledajte i besplatnu knjigu u elektronskom formatu, koju je takođe napisao Giorgio, "Praktično testiranje PHP-a".

1