Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

TestNG异常测试

基本使用

TestNG通过@Test(expectedExceptions) 来判断期待的异常,并且判断Error Message

例如:

public class ExceptionTest {

    @Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "NullPoint")
    public void testException(){
        throw new IllegalArgumentException("NullPoint");
    }
}

实际案例

业务类:AppBlog.java

package me.yezhou;

public class AppBlog {
    private String message;

    public AppBlog(String message){
        this.message = message;
    }

    // prints the message
    public String printMessage(){
        System.out.println("AppBlog: printMessage");
        return message;
    }

    public void calculate() {
        System.out.println("AppBlog: calculate");
        int a = 0;
        int b = 1/a;
    }
}

测试类:AppBlogTest.java

package me.yezhou;

import org.testng.Assert;
import org.testng.annotations.Test;

public class AppBlogTest {
    String message = "AppBlog.CN";
    AppBlog appBlog = new AppBlog(message);

    @Test
    public void testPrintMessage() {
        System.out.println("Inside testPrintMessage()");
        Assert.assertEquals(message, appBlog.printMessage());
    }

    @Test(expectedExceptions = ArithmeticException.class)
    public void testCalculate() {
        System.out.println("Inside testCalculate()");
        appBlog.calculate();
    }
}

测试结果:

Inside testCalculate()
AppBlog: calculate
Inside testPrintMessage()
AppBlog: printMessage

===============================================
Suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================
上一篇 TestNG忽略测试
下一篇 TestNG分组测试