Zpo-3-wyk-Slajd29: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 10: Linia 10:
* '''Parametryzacja''' '''przypadków''' '''testowych''' . Przypadki testowe mogą przyjmować parametry typu String, których liczba i wartości są konfigurowane niezależnie od kodu testu.
* '''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'' )
* '''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




[[zpo-3-wyk-Slajd28 | << Poprzedni slajd]] | [[zpo-3-wyk-toc|Spis treści ]] | [[zpo-3-wyk-Slajd30 | Następny slajd >>]]
[[zpo-3-wyk-Slajd28 | << Poprzedni slajd]] | [[zpo-3-wyk-toc|Spis treści ]] | [[zpo-3-wyk-Slajd30 | Następny slajd >>]]

Aktualna wersja na dzień 21:54, 4 lis 2006

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 >>