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

Pom*_*rio 2 mockito

在我断言的下面的琐碎练习中,我期待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++;
      }
   }
Run Code Online (Sandbox Code Playgroud)

}

Jef*_*ter 7

你已经嘲笑了整个班级,这意味着Mockito正在提供实施并取代你的.

Mockito的类的模拟实现返回值类型的默认值,在此示例中解释了它返回零的原因.

通常,您不会嘲笑您正在测试的课程.您通常使用模拟来理解对象的协作者的行为.