【发布时间】:2018-06-11 22:02:47
【问题描述】:
我正在 JUnit 4.xx 上运行 Java 测试。我正在尝试从 try 块中强制运行 SQLException。我以许多不同的方式运行了 Mockito,但我没有得到我想要的结果。
这是我的主文件:
public boolean close() {
if (connection == null) {
throw new IllegalStateException("Connection never initialized!");
}
try {
connection.close();
return true;
}
catch (SQLException e)
{
LOGGER.logp(Level.INFO, CLASS_NAME, "close", e.getMessage());
return false;
}
}
这是我的测试文件:
@Test
public void testFail2() throws SQLException {
JDBCConnection spyConnect = mock(JDBCConnection.class);
given(spyConnect.getConnection()).willAnswer(invocationOnMock -> new SQLException());
assertFalse(spyConnect.close());
}
总之,我如何让 catch 块得到执行,以便为我的整个程序获得 100% 的行覆盖率? 提前感谢您的帮助。
【问题讨论】:
标签: java unit-testing junit mockito sqlexception