gpt4 book ai didi

testing - 在 Kotlin 中使用 Mockito doAnswer

转载 作者:IT老高 更新时间:2023-10-28 13:34:45 26 4
gpt4 key购买 nike

与这段 Java 代码等效的 Kotlin 是什么?

doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
Design design = new Design();
GetDesign.Listener callback = (GetDesign.Listener) invocation.getArguments()[0];
callback.onSuccess(design);
return null;
}
}).when(someRepository).getDesign(any(GetDesign.Listener.class));

[更新] 在尝试了几个选项后,我终于使用 mockito-kotlin 让它工作了。 .我认为这是实现 doAnswer 最舒适的方式。语法几乎保持不变:

doAnswer {
callback = it.arguments[0] as GetDesign.Listener
callback.onSuccess(Design())
null
}.whenever(someRepository).execute(any(GetDesign.Listener::class.java))

完整代码和build.gradle配置可见here

最佳答案

doAnswer {
val design = Design()

val callback = it.arguments[0] as GetDesign.Listener
callback.onSuccess(design)

null // or you can type return@doAnswer null

}.`when`(someRepository).getDesign(any(GetDesign.Listener::class.java))

关于testing - 在 Kotlin 中使用 Mockito doAnswer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44066993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com