当前位置: 首页 > 知识库问答 >
问题:

科特林。未初始化的属性访问异常:延迟属性尚未初始化

阎星河
2023-03-14

这是我的主要功能

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)

      }
 }

共有2个答案

鲁望
2023-03-14

如果您想使用@Autowired,某处必须有一个@Bean

沈旻
2023-03-14

科特林。未初始化属性访问异常:由于没有自动连线的配置,因此尚未初始化 lateinit 属性。

如果要在单元测试中使用AutoWired,它需要注释进行配置。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:config/springbeans.xml")
public class BeanSpringTest {
 类似资料:
  • 有人以前有过类似的问题吗? 如何声明init()的默认变量值? 下面是我的代码示例, 然后在下面抛出异常: 起因:科特林。UninitializedPropertyAccessException:late init属性emailDir尚未初始化 任何解决方案都可以共享?

  • 我想在Spring靴中通过kotlin在另一个类中注入一个单例。 S.kt WorkingGroup.kt 通过这段代码,我得到以下错误: 我搜索了这个错误,发现了一些类似的结果,但是问题没有解决。< br >在kotlin中,如何在伴随对象中注入服务?

  • 函数用于将包含空格或 的字符串转换为帕斯卡大小写。 以下是我的代码- 我在变量之前使用了keyword。在for循环中,我已初始化变量,但编译器仍抛出以下错误- 麻烦帮我下码谢谢

  • 我经常得到。但这个应用程序运行得很好。注意:我不想将演示者注入到活动中。提前谢谢! 以下是我的活动: 这是我的主持人: 这是我的数据管理器: 和AppDataManager: 最后,我的测试失败了: gradle文件: 我的模块课程: 实际错误是科特林。UninitializedPropertyAccessException:lateinit属性dataManager尚未初始化

  • Json服务器数据显示,在使用retrofit2和rxjava2的android中,当参数传递给inteface时,会出现错误。 接口

  • 我不知道这是怎么回事 主要活动 我遇到了这个问题 2022-03-18 09:18:27.393 13874-13874/com。实例githubuser2 E/AndroidRuntime:致命异常:主进程:com。实例githubuser2,PID:13874 java。lang.RuntimeException:无法启动活动组件信息{com.example.githubuser2/com.e