TestNG, gdzie NG oznacza „next generation” to framework automatyzacji testów zainspirowany JUnit (w Javie) i NUnit (w C#). TestNG może być używany do testów jednostkowych, testów funkcjonalnych, testów integracyjnych i testów end-to-end.
TestNG szybko zyskał dużą popularność i jest jednym z najczęściej używanych frameworków testowych wśród programistów Java. Używa głównie adnotacji Java do konfigurowania i pisania metod testowych, bardzo podobnych do JUnit.
wprowadzenie TestNG
niektóre funkcje TestNG mają ponad JUnit:
- dodatkowe adnotacje przed i po, takie jak Before/After Suite I Before/After Group
- testowanie zależności
- bardziej elastyczne grupowanie metod testowania
- wykonywanie wielowątkowe
- wbudowany silny framework raportowania
TestNG jest napisany w języku Java i może być używany z Javą i innymi językami związanymi z Javą, takimi jak Groovy.
w TestNG pakiety i testy są konfigurowane lub opisywane głównie za pomocą plików XML. Domyślnie nazwa pliku to testng.xml
, ale możemy nadać mu dowolną inną nazwę, jeśli chcemy.
TestNG pozwala programistom pisać Pakiety testowe w plikach XML i umożliwiać im dołączanie (lub wykluczanie) odpowiednich Pakietów, klas i metod w ich pakiecie testowym. Pozwala również programistom grupować metody testowe w określone nazwane grupy i włączać lub wykluczać je w ramach wykonywania testu.
zalety TestNG
teraz odkryjmy więcej funkcji / zalet oferowanych przez TestNG.
- Wiele opcji adnotacji przed i po
- konfiguracja testowa oparta na XML i definicja zestawu testowego
- metody zależne
- nazwane grupy / Grupa grup
- grupy zależne
- parametryzacja metod testowych
- testowanie oparte na danych
- wielowątkowe wykonanie testu
- lepsze raportowanie
instalacja TestNG w Eclipse
zanim będziemy mogli pobrać i zacząć używać TestNG, powinniśmy mieć zainstalowaną minimum Java 8 lub nowszą w naszym systemie.
Skopiuj adres URL ostatniej aktualizacji ze strony aktualizacji.
użyj powyższego adresu URL, aby zainstalować obsługę TestNG w Eclipse. Przejdź do opcji: Pomoc > Zainstaluj nowe oprogramowanie.
kliknij przycisk Dodaj i wybierz wymagane komponenty do zainstalowania.
Zgadzam się z dowolną umową licencyjną na żądanie. Wsparcie dla TestNG zostanie zainstalowane w ciągu najbliższych kilku minut w Eclipse IDE.
może poprosić o ponowne uruchomienie IDE po zakończeniu instalacji. Uruchom ponownie.
Tworzenie projektu Java z zależnościami TestNG
przed napisaniem naszego pierwszego testu TestNG, musimy utworzyć projekt Java w Eclipse i dołączyć nasze zależności TestNG.
przejdź do File / New / Other. Zostanie wyświetlone okno z wieloma opcjami.
wybierz nowy projekt Maven, jak pokazano na poniższym zrzucie ekranu i kliknij Dalej.
wybierz odpowiedni archetyp Mavena.
podaj współrzędne Mavena.
domyślnie Maven zawiera zależność Junit w pliku pom.xml
. Musimy usunąć zależność JUnit i włączyć najnowszą zależność TestNG.
<dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>7.4.0</version><scope>test</scope></dependency>
teraz możemy pisać nasze testy za pomocą TestNG.
Tworzenie naszej pierwszej klasy TestNG
Przed tym, możesz usunąć wszystkie istniejące automatycznie tworzące klasę testową JUnit, jeśli taka istnieje. Teraz wykonaj następujące kroki, aby utworzyć naszą pierwszą klasę TestNG:
1. Przejdź do File / New / Other. Spowoduje to otwarcie nowego okna kreatora dodawania w Eclipse.
2. Wybierz klasę TestNG w oknie Dodaj kreatora i kliknij Dalej.
3. W następnym oknie kliknij przycisk Przeglądaj i wybierz projekt Java, w którym chcesz dodać swoją klasę.
4. Wprowadź nazwę pakietu i nazwę klasy testowej i kliknij przycisk Zakończ.
5. To okno daje również możliwość wyboru różnych adnotacji podczas tworzenia nowej klasy TestNG. Jeśli jest zaznaczona, wtyczka wygeneruje metody atrapy dla tych adnotacji podczas generowania klasy. To doda nową klasę TestNG do naszego projektu.
package com.howtodoinjava.testng.examples;import org.testng.annotations.Test;import org.testng.annotations.BeforeTest;import org.testng.annotations.AfterTest;public class AppTest { @Test public void f() { } @BeforeTest public void beforeTest() { } @AfterTest public void afterTest() { }}
pomyślnie dodaliśmy nową klasę TestNG do nowo utworzonego projektu Java w Eclipse. W razie potrzeby możesz zmodyfikować kod. Teraz przeprowadźmy nowo utworzoną klasę testową przez Eclipse.
Uruchamianie testu
5.1. Opcje skrótów
zwróć uwagę na klasę testową w Eclipse IDE. Zobaczysz kilka niewyraźnych tekstów jako „Uruchom wszystko” lub „uruchom / Debuguj”. Są to skróty, których możemy użyć do uruchomienia lub debugowania pojedynczej metody testowej lub klasy testowej za pomocą prostego kliknięcia myszką.
jeśli nie widzisz powyższych skrótów z jakiegokolwiek powodu, postępuj zgodnie z podanymi krokami, aby utworzyć konfigurację TestNG run i wykonać ją.
5.2. Utwórz konfigurację uruchamiania
wykonaj następujące kroki, aby uruchomić testy za pomocą Eclipse:
1. Wybierz projekt Java w Eclipse i przejdź do konfiguracji Run / Run.
2. Wybierz TestNG w podanych opcjach i kliknij Nowy przycisk, aby utworzyć nową konfigurację.
3. Proszę zauważyć, że wtyczka TestNG zapewnia wiele opcji uruchamiania przypadków testowych w następujący sposób:
- Klasa: za pomocą tej opcji możesz podać nazwę klasy wraz z pakietem, aby uruchomić tylko określoną klasę testową.
- metoda: Za pomocą tego można uruchomić tylko określoną metodę w klasie testowej.
- grupy: jeśli chcesz uruchomić określone metody testowe należące do określonej grupy TestNG, możesz wprowadzić te tutaj, aby je wykonać.
- pakiet: jeśli chcesz wykonać wszystkie testy wewnątrz pakietu, możesz określić je w tym polu.
- Suite: jeśli masz pliki suite w postaci plików
testing.xml
, możesz wybrać je tutaj do wykonania.
wprowadź nazwę konfiguracji jako TestNGRunConfig
i wybierz nowo utworzoną klasę w sekcji klasa i kliknij Zastosuj.
4. Teraz, jeśli chcesz uruchomić nowo utworzoną konfigurację, po prostu kliknij Uruchom po kliknięciu Zastosuj.
to skompiluje i uruchomi klasę TestNG, którą napisaliśmy. Wynik wykonania testu jest wyświetlany w konsoli i wyniki w oknach Eclipse, jak pokazano na poniższym zrzucie ekranu.
Running: C:\Users\somelocalpath\testng-customsuite.xmlPASSED: f=============================================== Default test Tests run: 1, Failures: 0, Skips: 0==============================================================================================Default suiteTotal tests run: 1, Failures: 0, Skips: 0=============================================== Time taken by org.testng.reporters.XMLReporter@177b3cd: 23 ms Time taken by : 0 ms Time taken by org.testng.reporters.jq.Main@b8deef: 46 ms Time taken by org.testng.reporters.JUnitReportReporter@10ab323: 12 ms Time taken by org.testng.reporters.EmailableReporter2@5e176f: 13 ms Time taken by org.testng.reporters.SuiteHTMLReporter@d1e89e: 142 ms
możesz również uruchomić klasę testową, wybierając ją, a następnie klikając na nią prawym przyciskiem myszy, wybierając Uruchom jako z menu, a następnie wybierając TestNG Test.
w tym tutorialu TestNG dowiedzieliśmy się o TestNG, funkcje oferowane przez TestNG, instalowanie wtyczki TestNG do Eclipse i pisanie i wykonywanie testów TestNG przez Eclipse.
Udanej Nauki !!