Spring Kotlin自动连线问题-lateinit(obv)

Spring Kotlin自动连线问题-lateinit(obv),spring,spring-boot,unit-testing,kotlin,lateinit,Spring,Spring Boot,Unit Testing,Kotlin,Lateinit,我对科特林相对来说比较陌生,我无法理解spring自动布线 kotlin.UninitializedPropertyAccessException: lateinit property applicationContext has not been initialized 我在运行此操作时遇到上述错误: @SpringBootTest internal class MeterResourceAdapterTest () { @Autowired private lateini

我对科特林相对来说比较陌生,我无法理解spring自动布线

kotlin.UninitializedPropertyAccessException: lateinit property applicationContext has not been initialized
我在运行此操作时遇到上述错误:

@SpringBootTest
internal class MeterResourceAdapterTest () {

    @Autowired
    private lateinit var applicationContext: ApplicationContext

@Test
    fun toMeterReadingResourceList() {
        print(applicationContext.applicationName)
.....//I hope my implementation can be ignored
}

这是怎么回事?顺便提一下,为什么需要lateinit,以及“它”何时初始化?

@Stav Shamir的评论让我想到了这个解决方案


我不能确定是什么导致了这种情况,但几乎可以肯定的是,这与我在pom.xml中使用的较旧版本的junit有关。当我创建一个新项目时,通过初始化器,然后将pom的内容()复制到我的pom中;一切都进行得很顺利。

@Stav Shamir的评论让我想到了这个解决方案


我不能确定是什么导致了这种情况,但几乎可以肯定的是,这与我在pom.xml中使用的较旧版本的junit有关。当我创建一个新项目时,通过初始化器,然后将pom的内容()复制到我的pom中;一切进展顺利。

我只是尝试运行一个最小的示例来重现您的问题,但运行良好。如果必须猜测的话,您的依赖关系存在一些问题,这些问题会阻止正确创建
applicationContext
。你应该提供更多信息-你的应用程序运行正常吗?你有测试属性吗?我只是试着运行一个最小的例子来重现你的问题,但它运行得很好。如果必须猜测的话,您的依赖关系存在一些问题,这些问题会阻止正确创建
applicationContext
。你应该提供更多信息-你的应用程序运行正常吗?你有测试属性吗?