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

时间:2012-09-07 10:20:47

标签: 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++;
      }
   }

}

1 个答案:

答案 0 :(得分:7)

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

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

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