【问题标题】:How to mock kotlin ByteArray using Mockito?如何使用 Mockito 模拟 kotlin ByteArray?
【发布时间】:2017-11-08 08:07:50
【问题描述】:

当我运行这个时:

class SomeTest {
    fun howToMockByteArray() {
        val bytes = Mockito.mock(ByteArray::class.java)
    }
}

投掷:

org.mockito.exceptions.base.MockitoException: 
Cannot mock/spy class [B
Mockito cannot mock/spy because :
 - VM does not not support modification of given type

如何使用Mockito 模拟kotlin 的ByteArray?

【问题讨论】:

  • val bytes = byteArrayOf()
  • 是的,我是这样写的。感谢您的 koltin mockito 助手!)

标签: kotlin mockito


【解决方案1】:

我个人不会嘲笑ByteArray,因为它是一个值类型,就像StringInt。任意 ByteArrays 也很容易使用 Kotlin 的 byteArrayOf() 创建。

【讨论】:

    【解决方案2】:

    如果您需要 Byte 的模拟数组,您可以执行以下操作:

    val bytes = Mockito.mock(Array<Byte>::class.java)

    另一方面,ByteArray 映射到基元数组,即byte []

    【讨论】:

    • 你能帮我用“mockk”库做同样的事情吗?
    • 这是不正确的。使用 mockito-core:3.5.10 会产生错误:org.mockito.exceptions.base.MockitoException: Cannot mock/spy class [Ljava.lang.Byte; Mockito 无法模拟/监视,因为:-VM 不支持修改给定类型
    猜你喜欢
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2019-01-06
    相关资源
    最近更新 更多