gpt4 book ai didi

java - Mockito-自定义匹配器在尝试匹配原始时抛出NPE

转载 作者:行者123 更新时间:2023-12-05 01:10:30 25 4
gpt4 key购买 nike

试图弄清楚如何为原始值编写自定义匹配器。说我有以下自定义匹配器:

class IsEven extends ArgumentMatcher<Integer> {
public boolean matches(Object i) {
return ((Integer) i) % 2 == 0;
}
}


然后运行以下测试。 'mocked'是具有方法'someMethod'的类的已模拟实例:

@Test
public void primatives() {

mocked.someMethod(2);

ArgumentMatcher<Integer> customMatcher = new IsEven();

// ! Throws NPE !
Mockito.verify(mocked).someMethod(Mockito.argThat(customMatcher));

}


NullPointerException的原因是Mockio.argThat方法始终返回null,我猜想它不能自动装箱成整数。

我觉得这似乎是一个普通的用例-有什么建议吗?

谢谢,
罗伊

最佳答案

..阅读Javadoc有助于:

在极少数情况下,如果参数是原始类型,则必须使用相关的intThat(),floatThat()等方法。这样,您将在自动拆箱过程中避免NullPointerException。

关于java - Mockito-自定义匹配器在尝试匹配原始时抛出NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8506439/

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