背景
当我们编写单元测试的时候,经常会使用到expectedExceptions来测试程序的报错是否达到预期。但是,一般的系统设计中,异常都是统一处理成一个自定义的异常,用不同的错误code和错误message来区分不同的错误信息。这就需要用到testng的expectedExceptionsMessageRegExp来匹配抛出的异常message是否是预期的。
使用
代码如下:
public class MyTest {
@Test(expectedExceptions = MyException.class, expectedExceptionsMessageRegExp = ".*error-code-1001.*")
public void testcaseOne() {
System.out.println("test expectedExceptionsMessageRegExp.");
throw new MyException(“error-code-1001”,“系统错误”);
}
}
这个测试方法会被判定通过。