【发布时间】:2020-12-24 15:43:56
【问题描述】:
kotlinx.serialization 和在 androidTest 中运行测试的问题。
Lib 版本:
org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1
org.jetbrains.kotlin:kotlin-stdlib:1.4.10
我的 Json 实例:
Json(Json.Default) {
serializersModule = SerializersModule {
// serializers here
}
coerceInputValues = true
ignoreUnknownKeys = true
isLenient = true
}
UI测试方案
存根 json -> 使用 kotlinx.serialization.json 反序列化 json -> 显示屏幕
如果我在 androidTest 文件夹中运行 UI 测试,我会得到异常
java.lang.ClassCastException: kotlinx.serialization.json.Json$Default cannot be cast to kotlinx.serialization.json.Json
您知道如何解决这个问题吗?
更新
另一个变种。不使用默认值
Json {
serializersModule = SerializersModule {
// serializers here
}
coerceInputValues = true
ignoreUnknownKeys = true
isLenient = true
}
例外
No static method Json$default(Lkotlinx/serialization/json/Json;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/serialization/json/Json
【问题讨论】:
-
在 github 上添加演示项目会很有帮助。
标签: android kotlinx.serialization