- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
与这段 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/
当抛出异常时,我可以以某种方式使用doAnswer()吗? 我在集成测试中使用它来获取方法调用并配置@RabbitListenerTest... @RunWith(SpringRunner.class
我试图在仅从特定类调用时模拟方法,因为底层框架调用我的模拟方法 N 次。 是否有一种方法可以描述特定模拟方法的调用者,以便我可以根据调用者有条件地返回数据? 我正在使用 Mockito 和 doAns
我正在尝试从具有 2 个重载的 gradle 类中 stub 一个 void 方法,并且 mockito 匹配器与 wearg 方法匹配,而我的 stub 失败了。这是我到目前为止所拥有的: doAn
我有一个类,本质上是这样的: class Checkpointer { public Output runFunction(Input input, Function function) {
这不会编译。我收到一个 UnfinishedStubbingException。我已经阅读了 Mockito api 和本网站上的其他问题,我认为我的语法应该没有错误,但它在 doAnswer(new
我正在使用的静态方法之一,它做了两件事。它返回一些数据,但它也修改传递给它的参数对象。这个更新后的参数对象随后会在代码中使用。 我正在使用 PowerMock 模拟返回行为。 为了定义第二部分 - 更
我正在尝试测试一个静态方法,该方法捕获来自不同子调用或方法本身的异常,并且只记录异常消息。根据要求,我无法更改方法实现。在这种情况下,监视子调用不是一种选择,因为我们希望在测试中保持一致,并且由于某些
这是我第一天使用 Mockito 编写单元测试,我可能从一个复杂的练习开始。 下面是我的类结构,我正在为 Class2.targetMethod() 编写测试。 Class1 静态方法修改传入的对象而
今天我学习了 Mockito,在玩弄它的过程中我发现了一些我不明白的地方。 假设我想测试以下代码: public void stop(boolean showMessage) { if
我想模拟我的 PermissionHostCompat 类的操作 requestPermission(@NonNull String Permission, int requestCode) 。 pu
用例: 我想用对象列表调用模拟类的方法,并想修改传递的参数。如果我处理某些具有返回类型的方法并且不适用于 Void 返回方法,它会工作正常。 测试方法: public class TestClass
我有一种情况,我的方法返回一些对象,方法包含一些参数,我有条件基于返回的响应和参数之一。 Map> testMap = new HashMap<>(); Object obj = new Object
我正在使用 Mockito 进行后期单元测试。我对何时使用 doAnswer 和 thenReturn 感到困惑。 谁能帮我详细介绍一下?到目前为止,我已经用 thenReturn 进行了尝试。 最佳
我在这段代码中使用 mockito spy: Mockito.doAnswer(new Answer() { Object answer(InvocationOnMock invocation
我想使用 when(spy).thenAnswer(new Answer())但似乎 thenAnswer 只适用于模拟而不适用于 spy 。我想使用 spy ,因为我只想 stub 特定方法。 有没
与这段 Java 代码等效的 Kotlin 是什么? doAnswer(new Answer() { @Override public Object answer(Invocation
当使用模拟进行单元测试时,我经常遇到需要检查模拟的某个方法是否使用正确的参数调用的情况。这意味着我必须以某种方式找到一种方法来查看传递给相关方法的内容。在 Spock 中,可以使用以下方法来完成: 1
我需要测试一种创建 Car 对象并使用 CarDao 将其保存在数据库中的方法。另一种方法创建 Car 对象,但如果 CarDao 是模拟的,则 car.getUser() 返回 null 而不是正确
我正在学习 mockito,我从 link 中了解了上述函数的基本用法。 . 但是我想知道它是否可以用于任何其他情况? 最佳答案 doThrow :主要用于在模拟对象中调用方法时抛出异常。 publi
我是一名优秀的程序员,十分优秀!