Već smo upoznati s JUnit okvir za testiranje . Koristi se za izvođenje jediničnog testiranja u Javi. JUnit testni slučaj je skup koda koji osigurava radi li naš programski kod kako se očekuje ili ne.
U Java , moguće su dvije vrste testiranja jedinice, ručno testiranje i automatsko testiranje. Ručno testiranje je posebna vrsta testiranja u kojoj se testni slučajevi izvode bez upotrebe bilo kakvog alata. Za razliku od ručnog testiranja, automatsko testiranje nije moguće bez podrške bilo kakvog alata.
The org.junit package pruža nekoliko klasa i paketa, što nam pomaže da osiguramo daje li naš kod očekivani izlaz ili ne. Ovi paketi i klase su Assert, After, Prije i Test, itd.
Koristit ćemo alat eclipse za testiranje java koda. Prvo kreiramo java kod koji želimo testirati, a nakon toga ćemo napisati testnu klasu ili test slučaj za naš Java kod.
Uzmimo primjer JUnit testnog slučaja da bismo razumjeli kako se testiranje zapravo izvodi u Javi.
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()); } }
Obrazloženje
Napravili smo tri java klase, tj. JunitTestCaseExample.java, TestJunitTestCaseExample.java , i TestRunner .Java. u JunitTestCaseExample.java klase, stvorili smo kod koji želimo testirati. U ovoj klasi stvaramo popis naziva i četiri metode za dodavanje elementa, uklanjanje elementa, dobivanje veličine popisa i uklanjanje svih elemenata s popisa.
npm instalacijska naredba
u TestJunitTestCaseExample.java , pišemo testne slučajeve za klasu JunitTestCaseEample.java. Stvaramo objekt od JunitTestCaseExample.java klase, a korištenjem njenog objekta testirat ćemo sve njene metode. Koristimo se assertEquals() metoda za provjeru stvarnog rezultata s očekivanim izlazom.
Stvaramo klasu TestRunner.java za izvođenje testnih slučajeva. Sadrži metodu main() u kojoj pokrećemo klasu TestJunitTestCaseExample.java pomoću metode runClasses() JUnitCorea. U ovoj metodi prosljeđujemo datoteku klase TestJunitTestCaseExample.java. Rezultat koji vraća metoda runClasses() pohranit će se u varijablu rezultata tipa Result.
Sada ćemo pokrenuti klasu TestRunner.java da bismo izvršili testne slučajeve. Dobit ćemo izlaz true kada su testni slučajevi prošli i false kada testni slučajevi nisu prošli.
Izlaz