kotlin.UninitializedPropertyAccessException:lateinit 属性尚未初始化
Posted
技术标签:
【中文标题】kotlin.UninitializedPropertyAccessException:lateinit 属性尚未初始化【英文标题】:kotlin.UninitializedPropertyAccessException: lateinit property has not been initialized 【发布时间】:2021-06-21 18:36:44 【问题描述】:这是我的主要功能
object Service
fun getConfigMappings(client: RedissonClient, request: GetRequest): IndataType
****
return obj
我在主课上调用它,一切正常,我可以得到响应。
@Autowired
lateinit var client: RedissonClient
val indataObj = Service.getConfigMappings(client, request)
当我想为其编写测试时,出现错误“kotlin.UninitializedPropertyAccessException:lateinit 属性客户端尚未初始化”,任何人都可以帮助我吗? "
class ServiceTest
@Autowired
lateinit var client: RedissonClient
@Test
fun `test1`()
val request = GetRequest
***
val indataObj = Service.getConfigMappings(client, request)
【问题讨论】:
【参考方案1】:kotlin.UninitializedPropertyAccessException: lateinit property has not been initialized
发生是因为没有AutoWired
的配置。
如果要在单元测试中使用AutoWired
,则需要注解进行配置。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:config/springbeans.xml")
public class BeanSpringTest
【讨论】:
【参考方案2】:如果你想使用@Autowired,一定有一个@Bean 在某处
【讨论】:
以上是关于kotlin.UninitializedPropertyAccessException:lateinit 属性尚未初始化的主要内容,如果未能解决你的问题,请参考以下文章