1
說,我有以下接口:getAnnotation對科特林方法使用的Java註釋返回null
interface AppRepository : GraphRepository<App> {
@Query("""MATCH (a:App) RETURN a""")
fun findAll(): List<App>
}
在測試中,我要檢查的查詢字符串的細節,所以我做
open class AppRepositoryTest {
lateinit @Autowired var appRepository: AppRepository
@Test
open fun checkQuery() {
val productionMethod = appRepository.javaClass.getDeclaredMethod("findAll")
val productionQuery = productionMethod!!.getAnnotation(Query::class.java)
//demo test
assertThat(productionQuery!!.value).isNotEmpty() //KotlinNPE
}
}
由於我不理解的原因,productionQuery
是n null
。我仔細檢查了測試類中導入的Query
和存儲庫中的Query
的類型是否相同。
因此,在這種情況下爲什麼productionQuery
null
?
dammit :)如此尷尬。 –