TestNG предоставляет возможность отслеживания обработки исключений кода. Вы можете проверить, вызывает ли код желаемое исключение или нет. Здесь параметр Ожидаемые исключения используется вместе с аннотацией @Test. Теперь давайте посмотрим @Test (Ожидаемые исключения) в действии.
Создать класс
Создайте Java-класс для тестирования, скажем, MessageUtil.java в C: \> TestNG_WORKSPACE . Добавьте условие ошибки в метод printMessage ().
/* * 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 void printMessage() { System.out.println(message); int a =0; int b = 1/a; } // add "Hi!" to the message public String salutationMessage() { message = "Hi!" + message; System.out.println(message); return message; } }
Создать тестовый класс
-
Создайте тестовый класс Java, скажем, ExpectedExceptionTest.java .
-
Добавьте ожидаемое исключение ArithmeticException в тестовый пример testPrintMessage ().
Создайте тестовый класс Java, скажем, ExpectedExceptionTest.java .
Добавьте ожидаемое исключение ArithmeticException в тестовый пример testPrintMessage ().
Создайте файл класса Java с именем ExpectedExceptionTest.java в C: \> TestNG_WORKSPACE .
import org.testng.Assert; import org.testng.annotations.Test; public class ExpectedExceptionTest { String message = "Manisha"; MessageUtil messageUtil = new MessageUtil(message); @Test(expectedExceptions = ArithmeticException.class) public void testPrintMessage() { System.out.println("Inside testPrintMessage()"); messageUtil.printMessage(); } @Test public void testSalutationMessage() { System.out.println("Inside testSalutationMessage()"); message = "Hi!" + "Manisha"; Assert.assertEquals(message,messageUtil.salutationMessage()); } }
Создать тестовый бегун
Создайте testng.xml в C: \> TestNG_WORKSPACE для выполнения тестовых наборов .
<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name = "Suite1"> <test name = "test1"> <classes> <class name = "ExpectedExceptionTest" /> </classes> </test> </suite>
Скомпилируйте классы MessageUtil, Test case, используя javac.
C:\TestNG_WORKSPACE>javac MessageUtil.java TestJunit.java
Теперь запустите Test Runner, который будет запускать тестовые наборы, определенные в предоставленном классе Test Case.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Проверьте вывод. testPrintMessage () контрольный пример будет пройден.