【问题标题】:Retrofit creating mocked void success response?改造创建模拟无效成功响应?
【发布时间】:2018-08-06 11:18:39
【问题描述】:

您好,我正在尝试模拟我的一个请求响应 api 以返回 Void 类型的响应成功,但我似乎无法这样做,因为 Void 无法初始化并且是私有的。

我正在尝试这样做:V

val responseMock = Response.success(Void())

但没有快乐。

我什至尝试设置 Response.success(null) 并且它抱怨在我的情况下 responseMock 对象必须是 Void 类型,因为我的 api 方法返回这个:

Single<Response<Void>>

但是有 response.success(null) 会产生

Single<Response<Nothing?>>?

【问题讨论】:

    标签: android kotlin retrofit2 okhttp3


    【解决方案1】:

    如果在 Kotlin 中定义,Single&lt;Response&lt;Void&gt;&gt; 是不可能的类型。 Void 只能是 null,因此类型必须是 Single&lt;Response&lt;Void?&gt;&gt; 才能使 Response.success&lt;Void?&gt;(null) 成为有效值。

    【讨论】:

    • 没有工作。它说“预期 Single> 但是 SingleNothing>
    • 您只需要在属性声明中指定泛型类型,然后编辑答案以包含它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多