作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编写 JUnit Test 来测试以下代码片段。使用 Mockito,我能够模拟并测试第一个异常。如果我不想更改实现,是否可以使用 Mockito 或任何相关库来测试嵌套异常?
以下是我想为其编写单元测试的代码:
...
else {
response.sendRedirect("path to error URL");
}
} catch (Exception ex) {
logger.error(ex.getMessage());
try {
response.sendRedirect("path to error URL");
}catch(IOException e) { <= Unable to test for the following Exception
logger.error(ex.getMessage());
}
}
我在网上查找了各种解决方案,例如编写两个mockito when语句,但没有成功。如果您以前遇到过以下问题,我将不胜感激任何形式的帮助或知识分享。谢谢!
最佳答案
您可以 stub consecutive calls 的不同响应
doThrow(new RuntimeException()).doThrow(new EOFException()).when(mock).sendRedirect("some url"); // for first and inner catch block
如果您有两个不同的URL
,您可以拥有单独的 stub
doThrow(new RuntimeException()).when(mock).sendRedirect("first url") // for first catch block
doThrow(new EOFException()).when(mock).sendRedirect("second url") // for inner catch block
关于java - JUnit测试: How to test for nested Exeption?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946265/
我是一名优秀的程序员,十分优秀!