Давайте теперь представим базовый пример, демонстрирующий пошаговый процесс использования JUnit.
Создать класс
Создайте Java-класс для тестирования, скажем, MessageUtil.java в C: \> JUNIT_WORKSPACE
/* * This class prints the given message on console. */ public class MessageUtil { private String message; //Constructor //@param message to be printed public MessageUtil(String message){ this.message = message; } // prints the message public String printMessage(){ System.out.println(message); return message; } }
Создать тестовый класс
- Создайте тестовый класс Java, скажем, TestJunit.java.
- Добавьте тестовый метод testPrintMessage () в ваш тестовый класс.
- Добавьте аннотацию @Test в метод testPrintMessage ().
- Реализуйте условие теста и проверьте условие с помощью API assertEquals из JUnit.
Создайте имя файла класса java TestJunit.java в C: \> JUNIT_WORKSPACE .
import org.junit.Test; import static org.junit.Assert.assertEquals; public class TestJunit { String message = "Hello World"; MessageUtil messageUtil = new MessageUtil(message); @Test public void testPrintMessage() { assertEquals(message,messageUtil.printMessage()); } }
Создать класс Runner Test
- Создайте Java-класс TestRunner.
- Используйте метод runClasses класса JUnitCore JUnit для запуска тестового примера созданного выше тестового класса.
- Получить результат тестов, запущенных в Result Object.
- Получите ошибки, используя метод getFailures () объекта Result.
- Получите успех, используя метод wasSuccessful () объекта Result.
Создайте файл класса Java с именем TestRunner.java в C: \> JUNIT_WORKSPACE для выполнения тестовых примеров.
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunit.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Скомпилируйте классы MessageUtil, Test case и Test Runner, используя javac.
C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit.java TestRunner.java
Теперь запустите Test Runner, который запустит тестовый набор, определенный в предоставленном классе Test Case.
C:\JUNIT_WORKSPACE>java TestRunner
Проверьте вывод.
Hello World true
Теперь обновите TestJunit в C: \> JUNIT_WORKSPACE, чтобы тест не прошел . Измените строку сообщения.
import org.junit.Test; import static org.junit.Assert.assertEquals; public class TestJunit { String message = "Hello World"; MessageUtil messageUtil = new MessageUtil(message); @Test public void testPrintMessage() { message = "New Word"; assertEquals(message,messageUtil.printMessage()); } }
Давайте оставим остальные классы как есть и попробуем запустить тот же Test Runner.
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunit.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Теперь запустите Test Runner, который запустит тестовый набор, определенный в предоставленном классе Test Case.
C:\JUNIT_WORKSPACE>java TestRunner
Проверьте вывод.