Mockk 匹配和重载函数 withArg
Mockk matching and overloaded function withArg
您好,我正在尝试使用 withArg
找到一种方法来匹配验证内部的重载函数
文档并没有真正指出这一点
every { getResponse.Ids } returns listOf(121212L)
assert( client.getExtIds(Ids) )
verify {
client.getExtIdsCall().call(
withArg {
assertEquals(GetExtIdsRequest.builder()
.withIds("foo")
.withType("bar")
.build().hashCode(), it.hashCode()
)
}
)
}
类似上面的内容。但不幸的是我不能,因为 client.getExtIdsCall().call()
接受两种不同类型的对象。其中一个有我想要的hashCode
。因此无法正确引用 it
来调用 hashCode 函数
您可以通过显式指定函数 withArg
的类型参数来解决此问题,例如如果你希望你的参数是Long
,你可以写:
withArg<Long> { ... }
您好,我正在尝试使用 withArg
文档并没有真正指出这一点
every { getResponse.Ids } returns listOf(121212L)
assert( client.getExtIds(Ids) )
verify {
client.getExtIdsCall().call(
withArg {
assertEquals(GetExtIdsRequest.builder()
.withIds("foo")
.withType("bar")
.build().hashCode(), it.hashCode()
)
}
)
}
类似上面的内容。但不幸的是我不能,因为 client.getExtIdsCall().call()
接受两种不同类型的对象。其中一个有我想要的hashCode
。因此无法正确引用 it
来调用 hashCode 函数
您可以通过显式指定函数 withArg
的类型参数来解决此问题,例如如果你希望你的参数是Long
,你可以写:
withArg<Long> { ... }