PHPUnit

PHPUnit
logo
Autor Sebastian Bergmann
Pierwsze wydanie 1.0.0 – 2004-03-15 15 marca 2004(dts)[1]
Aktualna wersja stabilna 13.2.0
(5 czerwca 2026) [±]
Platforma sprzętowa wieloplatformowa
Rodzaj testy jednostkowe
Licencja BSD
Strona internetowa

PHPUnitframework do testów jednostkowych dla języka programowania PHP. Jest członkiem rodziny frameworków xUnit(inne języki) wywodzącej się z pakietu SUnit(inne języki) stworzonego przez Kenta Becka[2]. 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 (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(inne języki))
  9. Współpraca z narzędziem Selenium do testowania interfejsów użytkownika

Przypisy

  1. Sebastian Bergmann: PHPUnit 1.0.0 Released. 15.03.2004. [dostęp 2009-08-11]. [zarchiwizowane z tego adresu (5 marca 2016)]. (ang.).
  2. Informacja podawana na stronie głównej www.phpunit.de [dostęp: 11 sierpnia 2009]

Linki zewnętrzne

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya