TestNG - przegląd
Testowanie to proces sprawdzania funkcjonalności aplikacji w celu upewnienia się, że działa ona zgodnie z wymaganiami. Testowanie jednostkowe pojawia się na poziomie dewelopera, gdzie podejmuje się odpowiednie środki w celu przetestowania każdej pojedynczej jednostki (klasy lub metody), aby upewnić się, że produkt końcowy spełnia wymagania.
JUnit skłonił programistów do zrozumienia przydatności testów, zwłaszcza testów jednostkowych, w porównaniu z jakimkolwiek innym środowiskiem testowym. Wykorzystując raczej prostą, pragmatyczną i surową architekturę, JUnit był w stanie „zainfekować” dużą liczbę programistów. Zapoznaj się z naszym samouczkiem dotyczącym JUnit, aby dobrze zrozumieć jego funkcje. JUnit ma jednocześnie pewne wady, które wymieniono poniżej -
Początkowo zaprojektowany, aby umożliwić tylko testowanie jednostkowe, teraz jest używany do wszelkiego rodzaju testów.
Nie można przeprowadzić testów zależności.
Słaba kontrola konfiguracji (setUp / tearDown).
Intrusive (wymusza rozszerzenie klas i nazwanie metod w określony sposób).
Statyczny model programowania (wymusza niepotrzebną rekompilację).
Zarządzanie różnymi zestawami testów w złożonych projektach może być bardzo trudne.
Co to jest TestNG?
Definicja TestNG zgodnie z jego dokumentacją jest następująca -
TestNG to platforma testowa inspirowana JUnit i NUnit, ale wprowadzająca kilka nowych funkcji, które sprawiają, że jest ona potężniejsza i łatwiejsza w użyciu.
TestNG to zautomatyzowana platforma testowa typu open source; gdzieNG znaczy NwewGenergia. TestNG jest podobny do JUnit (zwłaszcza JUnit 4), ale nie jest rozszerzeniem JUnit. Inspiruje się JUnit. Został zaprojektowany tak, aby był lepszy niż JUnit, zwłaszcza podczas testowania klas zintegrowanych. Twórcą TestNG jest Cedric Beust .
Eliminując większość ograniczeń starszego frameworka, TestNG daje programiście możliwość pisania bardziej elastycznych i wydajnych testów. Ponieważ w dużym stopniu korzysta z adnotacji Java (wprowadzonych w JDK 5.0) do definiowania testów, może również pokazać, jak używać tej nowej funkcji języka Java w rzeczywistym środowisku produkcyjnym.
Funkcje TestNG
Obsługuje adnotacje.
TestNG wykorzystuje więcej funkcji Java i OO.
Obsługuje testowanie klas zintegrowanych (np. Domyślnie nie ma potrzeby tworzenia nowej instancji klasy testowej dla każdej metody testowej).
Oddziela kod testu w czasie kompilacji od informacji o konfiguracji / danych w czasie wykonywania.
Elastyczna konfiguracja środowiska wykonawczego.
Wprowadza „grupy testowe”. Po skompilowaniu testów możesz po prostu poprosić TestNG o wykonanie wszystkich testów „front-end”, testów „szybkich”, „wolnych”, „bazodanowych” itp.
Obsługuje zależne metody testowe, testy równoległe, testy obciążenia i częściowe awarie.
Elastyczny interfejs API wtyczek.
Wsparcie dla testów wielowątkowych.