Kotlin中的单元测试字节数组

我有一个在IntelliJ-IDEA中运行的Kotlin多平台项目。

我具有这样的功能:

fun getsomeDataBytes(): ByteArray {
    val x = arrayListOf<Byte>()
    x.add(0x01)
    x.add(0x02)

    return x.toByteArray()
}

此功能存在于commonmain模块中的文件中。

commonTest模块中,我有一个这样的测试用例:

@Test
fun testGetsomeDataBytes() {
    val expectedResult = byteArrayOf(0x01,0x02)
    val response = myModule.getsomeDataBytes()

    assertSame(expectedResult,response)
    assertTrue { expectedResult == response }
    assertEquals(expectedResult,response)
}

无论我使用这三行中的哪一行(我已禁用它们以确保一次只运行1条),我的测试都将失败,并显示如下错误:

Expected :[B@79afa0e2
actual   :[B@269f6bfe

我猜这是因为它没有比较内容。如果要在Android Studio中运行此程序,则需要进行jUnit测试,并进行如下测试:

assertThat(response,IsEqual.equalTo(expectedResult))

但是,在Kotlin测试中,我无法使用assertThatIsEqual,所以我很困。

有人知道我如何解决此问题?任何帮助将不胜感激。

caoqiuli 回答:Kotlin中的单元测试字节数组

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1442997.html

大家都在问