Testirajte PHP 5.4

Glavni programeri na PHP projektu uveliko rade na objavljivanju najnovije, 5.4, verzije. Ukoliko ste zainteresovani da pomognete oko ove nove verzije, možete to učiniti tako što ćete sa zvaničnog SVN repozitorija preuzeti izvorni kod i pokrenuti ugrađene testove. Zvuči strašno, ali uistinu nije. Važno: ovaj postupak testiranja neće uticati na eventualne, već instalirane PHP verzije na vašem sistemu.

Ukoliko "vrtite" neki GNU/Linux ili OS/X operativni sistem, potrebno je da na vašem sistemu imate instalirane sledeće programe: subversion, autoconf, automake, gcc, bison, flex i re2c. Svi ovi programi su dostupni preko packet managera vašeg sistema i nikakvu dodatnu konfiguraciju ne zahtevaju.

Nakon ovoga, u direktorijum po želji, se radi checkout sa SVN-a:

svn checkout https://svn.php.net/repository/php/php-src/branches/PHP_5_4 php54

Kada je checkout gotov, uđite u php54 direktorij i pokrenite sledeće naredbe:

./buildconf
./configure
make
make test

Ceo proces, sa sve checkout-om kod mene traje nekih 12-15 minuta. Nakon svega će program ponuditi da izveštaj testiranja odmah pošaljete [odgovor Y], da ga sačuvate i sami pošaljete na qa-reports@lists.php.net [odgovor s], ili da ga odbacite [odgovor n].

Sve dosadašnje poslate izveštaje možete pregledati na http://qa.php.net/reports/
 

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.

Unit testiranje Zend Frameworka od verzije 1.8

Najveća novina u Zend Frameworku od verzije 1.8 jeste promena načina inicijalizacije, bootstrapinga, same aplikacije i uvođenje u "igru" Zend_Application komponente. Ove promene su dovele i do promene načina testiranja ZF aplikacija. Na ZendCon konferenciji prošle godine, Michelangelo van Dam je održao prezentaciju o unit testiranju Zend Framework aplikacija od verzije 1.8. To predavanje je snimljeno i objavljeno na Zend Developer Zone-u kao audio materijal.

Prezentacija govori o podešavanju testova, koja je (preporučena) struktura datoteka, kako se testiraju kontroleri, forme, modeli i izmene nad bazom podataka. Prezentacija je dostupna na SlideShare-u, a audio zapis možete ili preslušati na stranici ili preuzeti istu u MP3 formatu.

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.