Bonjour,

Je souhaite réaliser un test unitaire testant des lectures en base de données dans de nombreuses situations.

J'ai écrit cette fonction utilitaire pour m'aider :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
private void checkAllRecordsMatchesCondition(String sql, Predicate<ResultSet> condition) throws SQLException {
	try(Connection connection = connect(); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(sql)) {
		while(rs.next()) assertTrue(sql, condition.test(rs));
	}
}
mais quand je l'utilise, elle me pose un problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
@Test public void whereCondition_field_literal() throws SQLException {
	checkAllRecordsMatchesCondition("SELECT * FROM SignedBikeRoute WHERE FNODE_ < 2000", rs -> rs.getInt("FNODE_") < 2000);
}
Le compilateur désigne la partie en rouge d'un "Unhandled exception type SQLException".
Cette exception est dans la directive throws de ma fonction.

Quelque-chose m'échappe ?

Merci !