Vi er allerede bekendt med JUnit testramme. Det bruges til at udføre enhedstest i Java. JUnit-testcasen er det kodesæt, der sikrer, om vores programkode fungerer som forventet eller ej.
I Java , er der to typer enhedstest mulige, manuel test og automatiseret test. Manuel test er en speciel type test, hvor testcases udføres uden brug af noget værktøj. I modsætning til manuel test er automatiseret test ikke mulig uden at understøtte noget værktøj.
Det org.junit pakke giver flere klasser og pakker, som hjælper os med at sikre, om vores kode giver det forventede output eller ej. Disse pakker og klasser er Assert, After, Before og Test osv.
række af strukturer i c-sprog
Vi vil bruge eclipse-værktøjet til at teste java-koden. Vi opretter først den java-kode, som vi vil teste, og derefter skriver vi testklassen eller testcasen for vores Java-kode.
Lad os tage eksemplet med en JUnit-testcase for at forstå, hvordan test faktisk udføres i 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
også model
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()); } }
Forklaring
Vi har lavet tre java klasser, dvs. JunitTestCaseExample.java, TestJunitTestCaseExample.java , og TestRunner .java. I den JunitTestCaseExample.java klasse, har vi lavet den kode, som vi vil teste. I denne klasse opretter vi en liste med navne og fire metoder til at tilføje et element, fjerne et element, hente listens størrelse og fjerne alle elementer fra listen.
I den TestJunitTestCaseExample.java , skriver vi testcaserne for JunitTestCaseEample.java-klassen. Vi skaber et objekt af JunitTestCaseExample.java klasse, og ved at bruge dens objekt, vil vi teste alle dens metoder. Vi bruger assertEquals() metode til at kontrollere det faktiske resultat med det forventede output.
sorter array liste
Vi opretter TestRunner.java-klassen for at udføre testcaserne. Den indeholder main()-metoden, hvori vi kører TestJunitTestCaseExample.java-klassen ved hjælp af runClasses()-metoden i JUnitCore. I denne metode sender vi klassefilen til TestJunitTestCaseExample.java. Resultatet, der returneres af runClasses()-metoden, gemmes i resultatvariablen af typen Result.
Nu vil vi køre TestRunner.java-klassen for at udføre testcaserne. Vi får output sand, når testcaserne er bestået og falske, når testcaserne ikke er bestået.
Produktion