小编Flo*_* We的帖子

无法在 Kotlin 中使用 Moshi 解析 Map<String, Double> - 意外的原始双精度

val moshi = Moshi.Builder().build()
val type = Types.newParameterizedType(Map::class.java, String::class.java, Double::class.java)
val adapter = moshi.adapter<Map<String, Double>>(type)

val result = adapter.fromJson(InitData.json)
Run Code Online (Sandbox Code Playgroud)

刚刚从 Gson 切换到 Moshi,我遇到了这个问题。我希望上面的代码可以正常工作,因为它似乎可以与Map<String, String>.

我收到了一个IllegalArgumentException: Unexpected original double。使用盒装类型

Float 也是一样。我知道这里发生了什么,但这对 Moshi 是不可能的吗?

这是使用 com.squareup.moshi:moshi-kotlin:1.8.0

android kotlin moshi

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

可以模拟/测试 Android ViewBinding 交互吗?

目前正在尝试在单元测试中测试与ViewBinding类的交互

"Invalid Input" should {
    "disable the LoginButton" {
        val viewBinding: FrLoginBinding = mockk()

        InvalidInputViewStateBinder.bind(InvalidInput, viewBinding)

        verify { viewBinding.loginButton.isEnabled = false }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的想法就是这样的。ViewBinding 中的视图是公共最终属性,不能轻易被模拟。至少我做不到。传递View模拟来创建 ViewBinding 也不起作用,因为我必须模拟findViewById它。

有没有人尝试过这个并让它发挥作用?

android unit-testing android-viewbinding

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