gpt4 book ai didi

java - 当模拟类包含返回 Integer 的方法时 jmockit 问题

转载 作者:行者123 更新时间:2023-12-01 11:51:02 24 4
gpt4 key购买 nike

JMockit 未返回设置为期望中的返回值的 Integer

public interface Foo {
Integer getInt();
}

@Test
public void test(@Mocked final Foo foo) {
final Integer anyInt = 3;
new Expectations() {{
foo.getInt(); result = anyInt;
}};
assertThat(foo.getInt(), equalTo(anyInt));
}

失败并显示消息:

java.lang.AssertionError:
Expected: <3>
but: was <0>

知道为什么吗?

JMockit 1.14

谢谢

最佳答案

JMockit Expectations API 有一组用于参数匹配的 any 字段,包括 anyInt。因此,出现在期望 block 内的“anyInt”就是该字段,而不是同名的局部变量。

(如果您使用的是不错的 Java IDE,它应该以与局部变量所用颜色不同的颜色显示字段,从而使错误很容易被发现。)

关于java - 当模拟类包含返回 Integer 的方法时 jmockit 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28823527/

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