测试JSON解串器的列表

时间:2018-09-20 06:31:26

标签: android json gson retrofit2

我有一个用于清单类的自定义反序列化器,用于改装库。

 GsonBuilder()
            .registerTypeAdapter(List::class.java, PagingDeserializer())
            .create()

反序列化器是

class PagingDeserializer : JsonDeserializer<List<*>> {

    override fun deserialize(json: JsonElement?, typeOfT: Type?, context: JsonDeserializationContext?): List<*> {
        val type = (typeOfT as ParameterizedType).actualTypeArguments[0]

        val result = mutableListOf<Any>()
.
.//custom deserializing code
.
return result.toList()
    }

它工作正常,但我也想写一些测试用例。
测试代码:

 val gson=
                GsonBuilder()
                        .registerTypeAdapter(List::class.java,PagingDeserializer())
                        .create()

        val manufacturesList:List<Manufacture> =gson.fromJson<List<Manufacture>>(manufactureJson,List::class.java)

但是在测试中我遇到了这个错误

java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType

为什么在测试中不起作用?

0 个答案:

没有答案