gpt4 book ai didi

java - 在使用 Mockito 进行方法调用时拦截对象

转载 作者:IT老高 更新时间:2023-10-28 20:44:05 28 4
gpt4 key购买 nike

我有一个类似 void 方法的模拟类

public class Mock {
public void method(String string) {
// doSomething
}
}

我不关心这个方法的作用,但我想发送字符串。

这个字符串实际上是一个 JSON 格式的对象,我正在测试的方法是根据最初发送的字符串修改这个对象(假设是非常随机的)。

method(String json) {
Object obj = unparse(json);
obj.setRandomValue(random);
String parsed = parse(obj);
Mock.method(parsed);
}

我只是想看看之前为空的“randomValue”是否在方法调用后实际上设置为随机数。

最好的办法是截取 json,解析它并检查对象。

最佳答案

您正在寻找 ArgumentCaptor :

  Mock mock =  Mockito.mock(Mock.class);
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
mock.method("input");
Mockito.verify(mock).method(captor.capture());
String actualValue = captor.getValue();

关于java - 在使用 Mockito 进行方法调用时拦截对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12244341/

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