Znamy już JUnit ramy testowania. Służy do przeprowadzania testów jednostkowych w Javie. Przypadek testowy JUnit to zestaw kodu, który sprawdza, czy kod naszego programu działa zgodnie z oczekiwaniami, czy nie.
ciągi Javy
W Jawa możliwe są dwa typy testów jednostkowych: testy ręczne i testy automatyczne. Testowanie ręczne to specjalny rodzaj testów, w którym przypadki testowe są wykonywane bez użycia jakichkolwiek narzędzi. W przeciwieństwie do testów ręcznych, testowanie automatyczne nie jest możliwe bez wsparcia jakiegokolwiek narzędzia.
The org.junit package udostępnia kilka klas i pakietów, co pomaga nam upewnić się, czy nasz kod zapewnia oczekiwane wyniki, czy nie. Te pakiety i klasy to Assert, After, Before i Test itp.
Do testowania kodu Java użyjemy narzędzia Eclipse. Najpierw tworzymy kod Java, który chcemy przetestować, a następnie napiszemy klasę testową lub przypadek testowy dla naszego kodu Java.
Weźmy przykład przypadku testowego JUnit, aby zrozumieć, w jaki sposób faktycznie przeprowadza się testowanie w Javie.
JunitTestCaseExample.java
package JavaTpoint. JunitExamples; import java.util.ArrayList; import java.util.List; public class JunitTestCaseExample { private List students = new ArrayList(); public void remove(String name) { students.remove(name); } public void add(String name) { students.add(name); } public void removeAll(){ students.clear(); } public int sizeOfStudent() { return students.size(); } }
TestJunitTestCaseExample.java
package JavaTpoint.JunitExamples; import static org.junit.Assert.assertEquals; import org.junit.Test; public class TestJunitTestCaseExample { JunitTestCaseExample obj = new JunitTestCaseExample(); @Test public void testAdd() { obj.add('Emma'); obj.add('Ronan'); obj.add('Antonio'); obj.add('Paul'); assertEquals('Adding 4 student to list', 4, obj.sizeOfStudent()); } @Test public void testSize() { obj.add('Emma'); obj.add('Ronan'); obj.add('Antonio'); assertEquals('Checking size of List', 3, obj.sizeOfStudent()); } @Test public void testRemove() { obj.add('Antonio'); obj.add('Paul'); obj.remove('Paul'); assertEquals('Removing 1 student from list', 1, obj.sizeOfStudent()); } @Test public void removeAll() { obj.removeAll(); } }
TestRunner.java
package JavaTpoint.JunitExamples; import org.junit.runner.Result; import org.junit.runner.JUnitCore; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunitTestCaseExample.class); for (Failure fail : result.getFailures()) { System.out.println(fail.toString()); } System.out.println(result.wasSuccessful()); } }
Wyjaśnienie
Stworzyliśmy trzy klasy Java, tj. JunitTestCaseExample.java, TestJunitTestCaseExample.java , I Biegacz testowy .Jawa. w JunitTestCaseExample.java class stworzyliśmy kod, który chcemy przetestować. W tej klasie tworzymy listę nazw i cztery metody dodawania elementu, usuwania elementu, pobierania rozmiaru listy i usuwania wszystkich elementów z listy.
ciąg tablicowy w c
w TestJunitTestCaseExample.java , piszemy przypadki testowe dla klasy JunitTestCaseEample.java. Tworzymy obiekt JunitTestCaseExample.java klasę i korzystając z jej obiektu przetestujemy wszystkie jej metody. Używamy twierdzenieEquals() metoda sprawdzenia rzeczywistego wyniku z oczekiwanym wyjściem.
Tworzymy klasę TestRunner.java do wykonywania przypadków testowych. Zawiera metodę main(), w której uruchamiamy klasę TestJunitTestCaseExample.java przy użyciu metody runClasses() JUnitCore. W tej metodzie przekazujemy plik klasy TestJunitTestCaseExample.java. Wynik zwrócony przez metodę runClasses() zostanie zapisany w zmiennej wynikowej typu Result.
Teraz uruchomimy klasę TestRunner.java, aby wykonać przypadki testowe. Otrzymamy wynik true, gdy przypadki testowe zostaną zaliczone, i false, gdy przypadki testowe nie zostaną zaliczone.
Wyjście