2

私はこのようなコードを持っています:

    class Lekcja {
        Calendar _date;
        public Lekcja() {
            _date = Calendar.getInstance();
        }
        public Calendar getDate() {
            return _date;
        }
    }

そして、実際のカレンダーオブジェクトを使用する代わりに、JUnit4とMockitoを使用してテストしたいので、そこにモックオブジェクトを配置します。やり方を教えてください。

4

2 に答える 2

2

PowerMockを使用できます

@RunWith(PowerMockRunner.class)
@PrepareForTest(Calendar.class)
public class LekcjaTest {
    private Lekcja lekcja;
    private Date myDate;

    @Before
    public void setUp() {
        myDate = mock(Date.class);

        PowerMockito.mockStatic(Calendar.class);
        PowerMockito.when(Calendar.getInstance()).thenReturn(myDate);
    }

    @Test
    public void calendarTest() {
        lekcja = new Lekcja();

        //verifies that the static call has been made
        PowerMockito.verifyStatic();
        Calendar.getInstance();

        assertEquals(myDate, lekcja.getDate());
    }
}
于 2012-06-01T08:40:20.090 に答える