java - 断言抛出异常
问题描述
我的项目中有这个 Junit 测试
public class CalculatorBookingTest {
private CalculatorBooking calculatorBooking;
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Before
public void setUp() {
calculatorBooking = new CalculatorBooking();
}
@Test
public void shouldThrowAnException_When_InputIsNull() {
calculatorBooking.calculate(null, null, 0, null);
expectedException.expect(CalculationEngineException.class);
expectedException.expectMessage("Error");
}
}
但是当我运行测试时,抛出异常但测试失败
解决方案
您可以执行以下操作:
@Test(expected = CalculationEngineException.class)
public void shouldThrowAnException_When_InputIsNull() {
calculatorBooking.calculate(null, null, 0, null);
}
来自 Junit文档:
Test 注解支持两个可选参数。第一个是预期的,声明一个测试方法应该抛出一个异常。如果它没有抛出异常,或者它抛出的异常与声明的异常不同,则测试失败。
推荐阅读
- android - 单击其中的项目时停留在导航抽屉中
- firebase - 反应原生 Firebase 身份验证
- python - 来自 Windows 客户端的 IPv6 服务器的 Paramiko ssh exec_command
- java - 如何修复java2smali中android studio的错误
- python - Selenium Python - 如果元素存在转到列表中的下一项
- android - 需要帮助弄清楚如何使用 api 密钥比较用户输入和从网站提取数据
- c# - How to fill Google form with C#
- java - 我的自定义异常没有返回异常代码(代码总是返回 500)
- php - How can I send scraped DATA to Mysql table with LARAVEL
- php - Get total hours with PHP & MySQL