Vi er allerede kjent med JUnit testramme. Den brukes til å utføre enhetstesting i Java. JUnit-testsaken er settet med kode som sikrer om programkoden vår fungerer som forventet eller ikke.
I Java , er det to typer enhetstesting mulig, manuell testing og automatisert testing. Manuell testing er en spesiell type testing der testsakene utføres uten bruk av noe verktøy. I motsetning til manuell testing, er automatisert testing ikke mulig uten å støtte noe verktøy.
De org.junit pakken gir flere klasser og pakker, noe som hjelper oss å sikre om koden vår gir forventet utgang eller ikke. Disse pakkene og klassene er Assert, After, Before og Test, etc.
hvordan oppdatere i java
Vi vil bruke eclipse-verktøyet for å teste java-koden. Vi lager først java-koden som vi ønsker å teste, og etter det vil vi skrive testklassen eller testcasen for vår Java-kode.
La oss ta eksemplet med en JUnit-testsak for å forstå hvordan testing faktisk utfø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å modell
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 laget tre java-klasser, dvs. JunitTestCaseExample.java, TestJunitTestCaseExample.java , og TestRunner .java. I JunitTestCaseExample.java klasse, laget vi koden som vi vil teste. I denne klassen lager vi en liste med navn og fire metoder for å legge til et element, fjerne et element, hente listens størrelse og fjerne alle elementer fra listen.
I TestJunitTestCaseExample.java , skriver vi testsakene for JunitTestCaseEample.java-klassen. Vi lager et objekt av JunitTestCaseExample.java klasse, og ved å bruke objektet vil vi teste alle metodene. Vi bruker assertEquals() metode for å sjekke det faktiske resultatet med forventet utgang.
inkluderer c-programmering
Vi lager TestRunner.java-klassen for å utføre testsakene. Den inneholder main()-metoden der vi kjører klassen TestJunitTestCaseExample.java ved å bruke runClasses()-metoden til JUnitCore. I denne metoden sender vi klassefilen til TestJunitTestCaseExample.java. Resultatet som returneres av runClasses()-metoden vil lagres i resultatvariabelen av typen Result.
Nå vil vi kjøre TestRunner.java-klassen for å utføre testsakene. Vi vil få utgangen sann når testsakene er bestått og usann når testsakene ikke er bestått.
Produksjon