小编Pra*_*hta的帖子

我在测试 ktor 时遇到问题。基本上,ApplicationTest 类不会注入存储库类,它显示 java..ClassCastExce 错误

这是我的应用程序测试类

class ApplicationTest {
    private val heroRepository: HeroRepository by inject(HeroRepository::class.java)

    @OptIn(InternalAPI::class)
    @Test
    fun `access all heroes endpoints, assert correct information`() = testApplication {

        val response = client.get("/naruto/heroes")
        assertEquals(
            expected =
            """
                    {
                    success = true,
                    message = "ok",
                    prevPage = null,
                    nextPage = 2,
                    heroes = ${heroRepository.heroes[1]!!}
                    }
                """.trimIndent()  ,
            actual = response.bodyAsText()
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

当 HeroRepository 进行注入并且我使用 koin 进行依赖注入时,它显示 java.lang.ClassCastException 的错误

java.lang.ClassCastException: class com.example.repository.HeroRepositoryImpl cannot be cast to class com.example.repository.HeroRepository (com.example.repository.HeroRepositoryImpl is in unnamed module of loader io.ktor.server.engine.OverridingClassLoader$ChildURLClassLoader …
Run Code Online (Sandbox Code Playgroud)

android kotlin okhttp ktor koin

5
推荐指数
1
解决办法
899
查看次数

标签 统计

android ×1

koin ×1

kotlin ×1

ktor ×1

okhttp ×1