2

次の私の主張の簡単な演習では、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++;
      }
   }

}

4

1 に答える 1

7

クラス全体をモックしました。つまり、Mockitoが実装を提供し、実装を置き換えています。

Mockitoのクラスのモック実装は、値型のデフォルト値を返します。この例では、ゼロを返す理由を説明しています。

通常、テストしているクラスをモックすることはありません。通常、モッキングを使用して、オブジェクトの共同作業者の動作を理解します。

于 2012-09-07T10:23:05.957 に答える