我有点惊讶,我无法在线找到这个问题的答案。 不管怎么说使用JUnit时,用于测试是否正确抛出异常,我会做这样的事情:黄瓜JVM:测试是否抛出正确的异常
@Test(expected = NullPointerException.class)
public void testExceptionThrown(){
taskCreater.createTask(null);
}
正如你可以在上面看到,它正在测试的一个非常优雅的方式,如果有异常抛出,但如何在使用黄瓜JVM时实现同样的优雅?我的测试看起来像这样:
@Then("the user gets a Null pointer exception$")
public void null_exception_thrown() {
boolean result = false;
try {
taskCreater.createTask(null);
} catch (NullPointerException e) {
result = true;
}
assertTrue(result);
}
这是丑陋的!
正确缩进。 – Infested
就个人而言,我不确定你应该(几乎)在通过测试用例中得到例外。黄瓜是根据用户的观点编写的,用户不应该知道抛出异常 - 程序应该以某种方式处理问题,通过显示一些排序消息告诉用户他们不应该做他们刚刚尝试过的东西要做,或者类似的事情。 – Dylanthepiguy