Przejdź do zawartości

PHPUnit

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez ZéroBot (dyskusja | edycje) o 05:16, 6 mar 2012. Może się ona znacząco różnić od aktualnej wersji.

Szablon:Software infobox

PHPUnit - framework do testów jednostkowych dla języka programowania PHP. Jest członkiem rodziny frameworków xUnit wywodzącej się z pakietu SUnit stworzonego przez Kenta Becka[1]. 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 informacjie 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 (test suite), 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:

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

Linki zewnętrzne

  1. Strona internetowa projektu
  2. Strona internetowa twórcy projektu
  1. Informacja podawana na stronie głównej www.phpunit.de [dostęp: 11 sierpnia 2009]