Zpo-3-wyk-Slajd29: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
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
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