为什么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++;
      }
   }

}

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

Mockito的类的mock实现返回值类型的默认值,这在本例中解释了它返回零的原因。

一般来说,你不会嘲笑你正在测试的类。您通常使用嘲讽来理解对象的合作者的行为。

相关内容

  • 没有找到相关文章

最新更新