如何惯用JUnit4来测试某些代码引发异常?
虽然我当然可以做这样的事情:
@Test
public void testFooThrowsIndexOutOfBoundsException() {
boolean thrown = false;
try {
foo.doStuff();
} catch (IndexOutOfBoundsException e) {
thrown = true;
}
assertTrue(thrown);
}
我记得在这种情况下,有一个批注或一个Assert.xyz或一些不太灵活的JUnit东西。
JUnit 4 有对此的支持:
@Test(expected = IndexOutOfBoundsException.class)
public void testIndexOutOfBoundsException() {
ArrayList emptyList = new ArrayList();
Object o = emptyList.get(0);
}
版本: 我得到以下错误:
在JUnit5中有更好的方法来断言方法抛出异常吗? 目前,我必须使用@规则来验证我的测试是否抛出了异常,但这对于我期望多个方法在我的测试中抛出异常的情况不起作用。
我在junit测试中使用mockito。如何使异常发生,然后断言它有(泛型伪代码)
主要内容:1 概述,2 JUnit 4异常测试示例,3 结论1 概述 在本指南中,我们将学习如何测试具有意外条件的方法引发的异常。 2 JUnit 4异常测试示例 有三种方法可以处理异常。 预期的异常 ExpectedException规则 Try/Catch Idiom 2.1 预期的异常 您如何验证代码是否按预期抛出异常?验证代码能否正常完成很重要,但是确保代码在异常情况下的行为也很重要。例如: 此代码应引发IndexOutOfBoundsExcept
我有一个方法: 这是用户授权测试的样子: 有没有办法检查用户输入错误密码的情况?因为在我发送错误密码的情况下,它不起作用,因为 使在你检查密码之前返回结果。
我正在处理一些代码,需要测试函数抛出的异常类型(是TypeError、ReferenceError等吗?)。 我当前的测试框架是AVA,我可以将其作为第二个参数方法进行测试,如下所示: 我开始用笑话重写我的测试,但找不到如何轻松做到这一点。这有可能吗?