samedi 14 avril 2018

How to access lateinit variable from companion object in SprintBoot test in kotlin?

I have a test class like following:

@RunWith(SpringJUnit4ClassRunner::class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
class UserControllerTest{
    @Qualifier("userRepository")
    @Autowired
    private lateinit var userRepository: UserRepository

    companion object {
        @JvmStatic
        @AfterClass
        @Throws(Exception::class)
        fun cleanupAll() {
        }
    }

    @Test
    @Throws(Exception::class)
    fun testUserShouldBeCreated() {
//        Some Test
    }
}

How do I access userRepository from cleanupAll method?

I have tried with:

companion object {
    @JvmStatic
    @AfterClass
    @Throws(Exception::class)
    fun cleanupAll() {
        UserControllerTest().userRepository.deleteAll()
    }
}

It gives the error:

kotlin.UninitializedPropertyAccessException: lateinit property userRepository has not been initialized

Aucun commentaire:

Enregistrer un commentaire