kotlin.uninitializedpropertyaccessexception:lateinit属性尚未初始化

jdzmm42g  于 2021-07-15  发布在  Java
关注(0)|答案(2)|浏览(840)

这是我的主要职责

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 property client has not been initialized”,有人能帮我吗

class ServiceTest {
    @Autowired
    lateinit var client: RedissonClient

    @Test
    fun `test1`() {

        val request = GetRequest {
          ***
        }

        val indataObj = Service.getConfigMappings(client, request)

      }
 }
dfty9e19

dfty9e191#

kotlin.UninitializedPropertyAccessException: lateinit property has not been initialized 由于没有的配置而发生 AutoWired .
如果你想用 AutoWired 在单元测试中,需要对配置进行注解。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:config/springbeans.xml")
public class BeanSpringTest {
nle07wnf

nle07wnf2#

如果您想使用@autowired,那么必须在某个地方有一个@bean

相关问题