Skip to content

PHP Unit tesztek

by firith on August 30th, 2010

Programozás közben a legtöbb időt a programhibák felkutatása teszi ki, míg maga a hiba kijavítása időnként nem vesz el egy-két percnél többet. Ráadásul nem tudhatjuk, hogy a javítás hatására nem jelenik meg máshol egy újabb hiba, amit csak sokkal később veszünk észre, így megtalálása nagy fejtörést okozhat.

A jó tesztek önmagukat értékelik ki, nem igényelnek emberi beavatkozást. Ez fontos, mert így gyorsabb és kényelmesebb használni ráadásul egy hosszabb tesztcsomag felügyelet nélkül is lefuthat, amíg elmegyünk ebédelni, tárgyalásra.

PHP nyelvhez három tesztelő keretrendszert is használhatunk:

  • PHPUnit: talán a legfejlettebb eszköz a háromból, képes tesztgenerálásra, megépítve a teszt vázát, hogy nekünk már csak a tényleges vizsgálatot kelljen megírnunk. NetBeans IDE által támogatott.
  • SimpleTest: egyszerű és könnyen használható, a JUnit java tesztelő rendszer ihlette. Tartalmaz unit és web teszteket is. Eclipse IDE által támogatott
  • Lime: a symfony framwork beépített unit és functional (web) tesztkészlete

Teszteket írni még az üzleti kód előtt érdemes, majd folyamatosan bővíteni kell a program fejlesztése közben. Az extrém programozás egyik legfontosabb érve a gyakori tesztelés. Mivel céljuk a leggyorsabb szoftverfejleszés automatikus tesztekkel segítik munkájukat.

Másik fontos alkalmazási terület a refactoring. Meg kell győződnünk arról, hogy az újratervezés nem rontotta el a már működő kódunkat. Az apró módosítások közben sokszor futtatjuk a teszteket, ennek vizsgálatára.

A következő cikkemben egy példát mutatok be a teszt vezérelt fejlesztésről.

From → Developing

4 Comments
  1. Hosszabbra számítottam, de összefoglalónak jó.
    Csak két elírás van. “felkutatása teszti ki” és “teszteket íni”

    • Túl sokszor írta már le a “teszt” szót :)

      • firith permalink

        ezt elég nehéz elkerülni sajnos, legalább is nekem nem ment. Én is untam annyiszor leírni

  2. firith permalink

    Ez most egy rövid összefoglaló, a következő cikkhez keresek egy alkalmas példát amin keresztül be tudom mutatni, hogyan lehet használni. Egy kis TDD és refactoring is lesz benne :)

Leave a Reply

Connect with Facebook

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS