通过使用“expect”参数,可以指定我们的测试可能抛出的异常名称。在上面的示例中,使用的是“IllegalArgumentException”,如果开发人员使用了不允许的参数,测试将抛出该异常。
使用@test(expected) 的示例
让我们通过使用抛出异常的方法创建一个Java类来理解异常测试。可以考虑JUnitMessage.java,如下所示:
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class AirthematicTest {
public String message = "Saurabh";
JUnitMessage junitMessage = new JUnitMessage(message);
@Test(expected = ArithmeticException.class)
public void testJUnitMessage() {
System.out.println("Junit Message is printing ");
junitMessage.printMessage();
@Test
public void testJUnitHiMessage() {
message="Hi!" + message;
System.out.println("Junit Message is printing ");
assertEquals(message, junitMessage.printMessage());
代码说明:
代码行13:使用@Test注释创建我们的测试。当在上面执行时,预计会出现算术异常,因此将其作为参数列在@Test中。
代码行17:调用 printMessage()
代码行18:创建另一个打印HI消息的方法。
如果执行此测试类,则使用每个定义的参数执行测试方法。在上面的示例中,测试方法执行了五次。
让我们执行它并验证结果。参见下面的测试运行器类以执行JunitTestExample.java
以下是显示测试成功且没有故障跟踪的输出,如下所示: