logo

JUnit-testcasevoorbeeld in Java

Wij zijn al bekend met de JUnit toetsingskader. Het wordt gebruikt om unit-tests in Java uit te voeren. De JUnit-testcase is de codeset die garandeert of onze programmacode werkt zoals verwacht of niet.

In Java zijn er twee soorten unit-tests mogelijk: handmatig testen en geautomatiseerd testen. Handmatig testen is een bijzondere vorm van testen waarbij de testgevallen worden uitgevoerd zonder gebruik van enig hulpmiddel. In tegenstelling tot handmatig testen is geautomatiseerd testen niet mogelijk zonder ondersteuning van een tool.

De org.junit package biedt verschillende klassen en pakketten, die ons helpen te garanderen of onze code de verwachte uitvoer oplevert of niet. Deze pakketten en klassen zijn Assert, After, Before en Test, enz.

JUnit-testcasevoorbeeld in Java

We zullen de Eclipse-tool gebruiken om de Java-code te testen. We maken eerst de Java-code die we willen testen, en daarna schrijven we de testklasse of testcase voor onze Java-code.

Laten we het voorbeeld van een JUnit-testcase nemen om te begrijpen hoe het testen feitelijk wordt uitgevoerd in Java.

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

Uitleg

We hebben drie Java-klassen gemaakt, d.w.z. JunitTestCaseExample.java, TestJunitTestCaseExample.java , En TestRunner .Java. In de JunitTestCaseExample.java klasse, hebben we de code gemaakt die we willen testen. In deze klasse maken we een lijst met namen en vier methoden om een ​​element toe te voegen, een element te verwijderen, de grootte van de lijst te bepalen en alle elementen uit de lijst te verwijderen.

In de TestJunitTestCaseExample.java , schrijven we de testgevallen voor de klasse JunitTestCaseEample.java. We maken een object van de JunitTestCaseExample.java klasse, en door het object ervan te gebruiken, zullen we al zijn methoden testen. Wij gebruiken de bewerenGelijk() methode om het werkelijke resultaat te controleren met de verwachte output.

We maken de klasse TestRunner.java om de testgevallen uit te voeren. Het bevat de methode main() waarin we de klasse TestJunitTestCaseExample.java uitvoeren met behulp van de methode runClasses() van de JUnitCore. Bij deze methode geven we het klassenbestand van TestJunitTestCaseExample.java door. Het resultaat dat door de methode runClasses() wordt geretourneerd, wordt opgeslagen in de resultaatvariabele van het type Resultaat.

Nu zullen we de klasse TestRunner.java uitvoeren om de testgevallen uit te voeren. We krijgen de uitvoer waar als de testgevallen zijn geslaagd en onwaar als de testgevallen niet zijn geslaagd.

Uitvoer

JUnit-testcasevoorbeeld in Java