gpt4 book ai didi

mockito - 为什么 Mockito 给我模拟对象的默认值?

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

在我的断言中的以下简单练习中,我期望 1,但得到 0。为什么我会看到这种行为?

public class MockitoTest {

POJO mockedPojo;

@Before
public void setup() {
mockedPojo = mock(POJO.class);
}

@Test
public void testIndifferentMethodInvocationOrder() {
int result1 = mockedPojo.getOne();
assertEquals(1, result1);
}

class POJO {
int count = 1;
int getOne() {
return count++;
}
int getTwo() {
return count++;
}
}

}

最佳答案

您已经模拟了整个类,这意味着 Mockito 正在提供实现并替换您的实现。

该类的 Mockito 模拟实现返回值类型的默认值,这在本例中解释了为什么它返回零。

通常,您不会模拟您正在测试的类。您通常使用模拟来理解对象协作者的行为。

关于mockito - 为什么 Mockito 给我模拟对象的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12316174/

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