PHPUnit – framework do testów jednostkowych dla języka programowania PHP. Jest członkiem rodziny frameworków wywodzącej się z pakietu stworzonego przez Kenta BeckaInformacja podawana na stronie głównej www.phpunit.de [dostęp: 11 sierpnia 2009]. PHPUnit jest rozwijany przez Sebastiana Bergmanna.

Zasada pracy PHPUnit służy do automatycznego testowania oprogramowania napisanego w języku PHP przy pomocy testów jednostkowych. Programiści tworzący aplikację przygotowują zestaw testów jednostkowych sprawdzających, czy poszczególne komponenty aplikacji działają zgodnie z oczekiwaniami. PHPUnit wykonuje po kolei wszystkie testy i po zebraniu wszystkich wyników, przedstawia programiście raport o ilości zaliczonych testów. Dodatkowo, zawiera on szczegółowe informacje o nieprawidłowych wynikach oraz błędach wykonania.

PHPUnit umożliwia szybkie przetestowanie całej aplikacji bądź też wybranej jej części, co ułatwia rozwój oraz zarządzanie nią. Programiści mogą na bieżąco sprawdzać, czy wprowadzane przez nich zmiany nie powodują problemów w zupełnie innym miejscu, które normalnie byłyby trudne do zauważenia.

Organizacja testów PHPUnit posiada obiektową budowę. Pojedynczy test reprezentowany jest przez metodę testNazwaTestu() w klasie dziedziczącej po PHPUnit_Framework_TestCase. Klasa ta tworzy tzw. zestaw testów (), wyposażony w dodatkowe metody setUp() i tearDown(), które są wykonywane bezpośrednio przed i po wykonaniu testu. Ich zadaniem jest stworzenie środowiska, w którym będzie wykonywany każdy test z zestawu. Kontrola wyników testów wykonywana jest przez zestaw metod assert(), które porównują uzyskany wynik ze wzorcem.

Zestaw testów może również przyłączać inne zestawy testów, co umożliwia organizowanie testów w hierarchiczną strukturę przypominającą drzewo.

Możliwości PHPUnit oferuje programiście następujące możliwości:

Narzędzia do tworzenia testów jednostkowych i organizowania ich w hierarchiczne zestawy. Interfejs linii komend do wykonywania testów Dostawcy danych () – generatory zestawów danych dla testów pozwalające sprawdzić, jak pojedynczy test zachowuje się dla różnych danych wejściowych. Wsparcie dla testowania kodu korzystającego z baz danych. Możliwość testowania wyjątków. Wsparcie dla atrap obiektów (ang. ) Generator raportów Generator raportów pokrycia kodu (wymaga ) Współpraca z narzędziem Selenium do testowania interfejsów użytkownika

Przypisy

Linki zewnętrzne Strona internetowa projektu Strona internetowa twórcy projektu

Kategoria:Frameworki PHP Kategoria:Narzędzia wspomagające tworzenie oprogramowania Kategoria:Oprogramowanie na licencji BSD