Spring boot 如何使用jdbcTemplate方法测试我的存储库?
这里有我的存储库,在这里我检查我的数据库中是否存在这样的语言Spring boot 如何使用jdbcTemplate方法测试我的存储库?,spring-boot,kotlin,repository,junit5,Spring Boot,Kotlin,Repository,Junit5,这里有我的存储库,在这里我检查我的数据库中是否存在这样的语言 @Repository class LanguageRepositoryImpl(private val jdbcTemplate: NamedParameterJdbcTemplate) : LanguageRepository { companion object { private const val EXIST_LANGUAGE_QUERY = "SELECT
@Repository
class LanguageRepositoryImpl(private val jdbcTemplate: NamedParameterJdbcTemplate) : LanguageRepository {
companion object {
private const val EXIST_LANGUAGE_QUERY =
"SELECT EXISTS(SELECT * FROM languages AS l WHERE l.language = :language)"
}
override fun existsLanguage(language: String): Boolean {
return jdbcTemplate.queryForObject(EXIST_LANGUAGE_QUERY, mapOf("language" to language), Boolean::class.java)!!
}
}
这是我的测试,我得到一个异常“ParameterResolutionException:没有为参数注册ParameterResolver”
class LanguageRepositoryTest(private val languageRepository: LanguageRepository) {
companion object {
private const val CORRECT_LANGUAGE = "en"
private const val INCORRECT_LANGUAGE = "jp"
}
@Test
internal fun check_for_exist_language_True() {
Assertions.assertTrue(languageRepository.existsLanguage(CORRECT_LANGUAGE))
}
@Test
internal fun check_for_exist_language_False() {
Assertions.assertFalse(languageRepository.existsLanguage(INCORRECT_LANGUAGE))
}
}
所以问题是——如何将我的存储库正确地注入到测试中,以及如何以这种方式正确地测试存储库