gpt4 book ai didi

mockito - 如何匹配mockito 2中的可变参数?

转载 作者:行者123 更新时间:2023-12-02 16:25:27 24 4
gpt4 key购买 nike

来自mockito 1的方法更新到2.3后无法使用。

private class ArgumentsMatcher implements ArgumentMatcher<Object[]> {
private final Object[] expected;

private ArgumentsMatcher(Object[] expected) {
this.expected = expected;
}

@Override
public boolean matches(Object[] argument) {
return Arrays.equals(expected, argument);
}
}

最佳答案

你可以使用这样的捕获器来匹配它:

// Use an argument captor of whatever type the varargs method is
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
// Verify on the method using the captor
verify(fooClass).fooMethod(captor.capture());
// Assert on the expected values
assertEquals(captor.getAllValues(), Arrays.asList("vararg1", "vararg2"));

这样做的好处是,您可以匹配数组(如果您处于数组和可变参数可以混合的情况)也可以使用您想要的任何 hamcrest 匹配器,这样您就可以执行诸如验证是否存在单个元素之类的操作、忽略顺序、忽略重复项或任何您需要执行的操作。

关于mockito - 如何匹配mockito 2中的可变参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41089819/

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