Zpo-3-wyk-Slajd29

Z Studia Informatyczne
Wersja z dnia 21:54, 4 lis 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Założenia dla TestNG

Założenia dla TestNG


Najważniejsze cechy TestNG to:

  • Separacja implementacji testów od ich konfiguracji . Testy jednostkowe są wykonywane wielokrotnie, jednak nie zawsze konieczne jest wykonanie wszystkich przypadków testowych. TestNG pozwala specyfikować zakres testów niezależnie od kodu tych testów w postaci pliku XML. Dzięki temu można zdefiniować różne zestawy testów (za pomocą osobnych plików XML) do różnych zastosowań.
  • Rezygnacja z mechanizmu dziedziczenia z wyróżnionej klasy testującej . Klasa testująca zapisana w TestNG nie musi być potomkiem konkretnej klasy należącej do biblioteki – może nią być dowolna zwykła klasa (tzw. POJO – Plain Old Java Object ).
  • Koniec z konwencjami nazewniczymi . Podobnie, nazwy metod-przypadków testowych nie muszą odpowiadać jakimkolwiek konwencjom. Wystarczy, że są oznaczone anotacją @Test.
  • Parametryzacja przypadków testowych . Przypadki testowe mogą przyjmować parametry typu String, których liczba i wartości są konfigurowane niezależnie od kodu testu.
  • Trójpoziomowa ziarnistość inicjalizacji i finalizacji . Istnieje możliwość precyzyjnego ustalenia ziarnistości i zakresu inicjalizacji oraz finalizacji środowiska testowego: za pomocą adnotacji można oznaczyć metody wykonywane przed i po wszystkich przypadkach testowych w grupie (@ beforeSuite i @ afterSuite ), w klasie testującej (@ beforeTestClass i @ afterTestClass ) oraz – podobnie jak w JUnit’cie 3.x – pojedynczym przypadku testowym (@ beforeTestMethod i @ afterTestMethod )
  • Wykorzystanie asercji wbudowanych w język w miejsce asercji programowych .
  • Specyfikowanie zależności między grupami przypadków testowych i określanie kolejności ich wykonywania . Cecha ta, nieobecna w JUnit, pozwala m.in. na automatyczne pomijanie tych testów, których zależności wcześniej nie zostały spełnione (tzn. zgłosiły wyjątki). Pozwala także ręcznie oznaczać niektóre testy do pominięcia w aktualnym wykonaniu.
  • Proste wskazywanie oczekiwanych wyjątków . Przypadek testowy sprawdzający pojawienie się oczekiwanego wyjątku zaimplementowany z wykorzystaniem JUnit 3.x musiał przechwycić ten wyjątek, a następnie go zignorować, natomiast brak wyjątku był sygnalizowany bezwarunkowym zgłoszeniem błędu. TestNG pozwala wskazać oczekiwany wyjątek za pomocą anotacji


<< Poprzedni slajd | Spis treści | Następny slajd >>