使用TestNG进行异常处理
问题描述:
我参考了以下链接 - http://www.mkyong.com/unittest/testng-tutorial-2-expected-exception-test/以使用TestNG测试异常。如何打印来自调用方法的消息?对于例如,当orderBo.save(null);
叫,我怎么打印 -使用TestNG进行异常处理
答
可以使用,沿着expectedExceptions
参数到@Test
批注,则expectedExceptionsMessageRegEx
。然而,这变得相当凌乱注释:
@Test(
expectedExceptions = MyException.class,
expectedExceptionsMessageRegEx = "^regex for message here$"
)
public void testWhatever()
{
codeThatRaisesSomeException();
}
,并注意参数值,作为参数顾名思义,是一个正则表达式...
而不是,为什么不只是这样做:
@Test
public void testWhatever()
{
try {
codeThatRaisesSomeException();
fail("No exception thrown!");
catch (MyException e) {
assertEquals(e.getMessage(), "the expected message here");
}
}
最终,这是一个口味问题;你真的发现后者更可读...
+0
非常感谢。 – rickygrimes 2014-11-06 20:35:30
不明白你的意思;你想测试预期异常的错误信息的内容吗? – fge 2014-11-06 20:20:19
是的,这是正确的。这正是我想要的。 – rickygrimes 2014-11-06 20:23:30
@fge - 你能建议吗? – rickygrimes 2014-11-06 20:27:19