Вече сме запознати с JUnit рамка за тестване. Използва се за извършване на модулно тестване в Java. Тестовият случай на JUnit е набор от код, който гарантира дали нашият програмен код работи според очакванията или не.
са примерни модели
в Java , има два възможни типа тестване на модули, ръчно тестване и автоматизирано тестване. Ръчното тестване е специален тип тестване, при което тестовите случаи се изпълняват без използване на какъвто и да е инструмент. За разлика от ръчното тестване, автоматизираното тестване не е възможно без поддръжка на какъвто и да е инструмент.
The org.junit package предоставя няколко класа и пакета, което ни помага да гарантираме дали нашият код осигурява очаквания изход или не. Тези пакети и класове са Assert, After, Before и Test и т.н.
Ще използваме инструмента eclipse, за да тестваме java кода. Първо създаваме Java кода, който искаме да тестваме, и след това ще напишем тестовия клас или тестовия случай за нашия Java код.
Нека вземем примера с тестов случай на JUnit, за да разберем как всъщност се извършва тестването в 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
сравним низ в 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()); } }
Обяснение
Нина Гупта
Създадохме три Java класа, т.е. JunitTestCaseExample.java, TestJunitTestCaseExample.java , и TestRunner .java. В JunitTestCaseExample.java клас, създадохме кода, който искаме да тестваме. В този клас създаваме списък с имена и четири метода за добавяне на елемент, премахване на елемент, получаване на размера на списъка и премахване на всички елементи от списъка.
В TestJunitTestCaseExample.java , ние пишем тестовите случаи за класа JunitTestCaseEample.java. Ние създаваме обект на JunitTestCaseExample.java клас и като използваме неговия обект, ще тестваме всички негови методи. Ние използваме assertEquals() метод за проверка на действителния резултат с очаквания резултат.
Създаваме класа TestRunner.java за изпълнение на тестовите случаи. Той съдържа метода main(), в който изпълняваме класа TestJunitTestCaseExample.java, използвайки метода runClasses() на JUnitCore. В този метод предаваме файла на класа на TestJunitTestCaseExample.java. Резултатът, върнат от метода runClasses(), ще се съхранява в резултатната променлива от тип Result.
Сега ще изпълним класа TestRunner.java, за да изпълним тестовите случаи. Ще получим резултата true, когато тестовите случаи са преминали, и false, когато тестовите случаи не са преминати.
Изход