Java/Mockito
[Mockito] static getInstance() 메서드 mocking하여 테스트 하기
i5
2021. 10. 8. 01:30
반응형
테스트할 대상 클래스
Class Clock {
private static Clock sMe;
private Clock() {}
public static getInstance() {
if(sMe == null) sMe = new Clock();
return sMe;
}
}
테스트 코드
package com.example.mockedstatic;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.MockedStatic;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
public class ClockTest {
private static MockedStatic<Clock> mStaticClock;
private static Clock mMockClock;
@BeforeClass
public static void beforeClass() {
mStaticClock = mockStatic(Clock.class);
mMockClock = mock(Clock.class);
}
@AfterClass
public static void afterClass() {
mStaticClock.close();
}
@Test
public void execute_add() {
when(Clock.getInstance()).thenReturn(mMockClock);
// do something
}
}
반응형