什么是异常测试?
若测试方法抛出了预期的异常,则测试通过。
什么时候用到异常测试?
当我们的期望结果为某个异常的时候
如何使用?
@Test(expectedExceptions = 预期异常.class)
案例
import org.testng.annotations.Test;
public class ExpectedExceptionTest {
//没有预期异常
@Test
public void testcase1(){
throw new RuntimeException();
}
// 有预期异常,但是测试方法没有抛出该异常
@Test(expectedExceptions = RuntimeException.class)
public void testcase2(){
System.out.println("这是一个失败的异常测试");
}
// 有预期异常,且测试方法抛出了该异常
@Test(expectedExceptions = RuntimeException.class)
public void testcase3(){
System.out.println("这是一个成功的异常测试");
throw new RuntimeException();
}
}
执行ExpectedExceptionTest 类,结果如下
查看testcase1,执行信息
查看testcase2,执行信息
这是一个失败的异常测试
org.testng.TestException:
Method ExpectedExceptionTest.testcase2()
[pri:0,instance:com.course.testng.suite.ExpectedExceptionTest@2ef9b8bc]
should have thrown an exception of type class java.lang.RuntimeException
查看testcase3,执行信息
这是一个成功的异常测试