TestNG提供了跟踪代码异常处理的选项.您可以测试代码是否抛出所需的异常.这里 expectedExceptions 参数与@Test注释一起使用.现在,让我们看看 @Test(expectedExceptions)正在运行.
创建一个类
创建一个java类是在 C:\>中测试了 MessageUtil.java . 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()测试用例.
在 ExpectedExceptionTest.java 的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 执行测试用例.
使用javac编译MessageUtil,测试用例类.
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()测试用例将被传递.
Inside testPrintMessage()ManishaInside testSalutationMessage()Hi!Manisha===============================================Suite1Total tests run: 2, Failures: 0, Skips: 0===============================================