logo

Příklad testovacího případu JUnit v Javě

Jsme již obeznámeni s JUnit testovací rámec. Používá se k provádění testování jednotek v Javě. Testovací případ JUnit je sada kódu, která zajišťuje, zda náš programový kód funguje podle očekávání nebo ne.

v Jáva , jsou možné dva typy testování jednotek, ruční testování a automatické testování. Manuální testování je speciální typ testování, při kterém se testovací případy provádějí bez použití jakéhokoli nástroje. Na rozdíl od ručního testování není automatické testování možné bez podpory jakéhokoli nástroje.

The org.junit package poskytuje několik tříd a balíčků, což nám pomáhá zajistit, zda náš kód poskytuje očekávaný výstup nebo ne. Tyto balíčky a třídy jsou Assert, After, Before a Test atd.

Příklad testovacího případu JUnit v Javě

K testování java kódu použijeme nástroj eclipse. Nejprve vytvoříme java kód, který chceme otestovat, a poté napíšeme testovací třídu nebo testovací případ pro náš Java kód.

Vezměme si příklad testovacího případu JUnit, abychom pochopili, jak se testování v Javě skutečně provádí.

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()); } } 

Vysvětlení

Vytvořili jsme tři třídy Java, tj. JunitTestCaseExample.java, TestJunitTestCaseExample.java , a TestRunner .Jáva. V JunitTestCaseExample.java třídy jsme vytvořili kód, který chceme otestovat. V této třídě vytvoříme seznam jmen a čtyři metody pro přidání prvku, odebrání prvku, získání velikosti seznamu a odstranění všech prvků ze seznamu.

V TestJunitTestCaseExample.java , píšeme testovací případy pro třídu JunitTestCaseEample.java. Vytváříme objekt JunitTestCaseExample.java třídy a pomocí jejího objektu otestujeme všechny její metody. Používáme claimEquals() metoda kontroly skutečného výsledku s očekávaným výstupem.

Pro provádění testovacích případů vytváříme třídu TestRunner.java. Obsahuje metodu main(), ve které spouštíme třídu TestJunitTestCaseExample.java pomocí metody runClasses() JUnitCore. V této metodě předáme soubor třídy TestJunitTestCaseExample.java. Výsledek vrácený metodou runClasses() se uloží do proměnné result typu Result.

Nyní spustíme třídu TestRunner.java pro provedení testovacích případů. Výstup dostaneme true, když testovací případy projdou, a false, když testovací případy neprojdou.

Výstup

Příklad testovacího případu JUnit v Javě