728x90
반응형
Mockito 관련 어노테이션
@RunWith(MockitoJunitRunner.class)
Mockito에서 제공하는 목객체를 사용하기 하기위해 위와같은 어노테이션을 테스트클래스에 달아준다.
@RunWith(MockitoJunitRunner.class)
public class Test(){
...
}
⇒ 꼭 달아줘야하는건 아니지만, 이 어노테이션을 달지 않으면 아래와 같은 작업이 필요하다.
publc class Test(){
@Before
public void setUp(){
MockitoAnnotations.initMocks(this);
}
}
@Mock
mock 객체를 생성한다.
@InjectMocks
@InjectMocks라는 어노테이션이 존재하는데, @Mock이 붙은 목객체를 @InjectMocks이 붙은 객체에 주입시킬 수 있다.
실무에서는 @InjectMocks(Service) @Mock(DAO) 이런식으로 Service테스트 목객체에 DAO 목객체를 주입시켜 사용한다.
public class MembmerService{
private MemberDao dao;
public Member createMember(Member member){
if(dao.getMemberCount(member) > 0){
...
throw new Exception();
}
...
}
}
public class MemberDao{
public int getMemberCount(Membmer member){
// 미완성
}
}
@Mock
MemberDao memberDao;
@InjectMocks
MemberService memberService;
@Test
public void test(){
when(memberDao.getMemberCount()).thenReturn(0);
Member member = new Member("corn", 25);
assertThat(memberService.createMember(member), is(member));
}
728x90
반응형
'프로그래밍 노트 > TEST를 해보자' 카테고리의 다른 글
[Mockito] @Spy, @SpyMock 스터빙(stubbing)(thenReturn vs doReturn) (0) | 2020.12.14 |
---|---|
[Mockito] Mockito이용하여 테스트하기(@Mock, @Spy, @InjectMocks, @MockBean, @SpyBean) (1) | 2020.12.14 |
모키토 프레임워크(Mockito framework) (0) | 2019.11.13 |
Hmacrest 프레임워크 사용하기_2 (0) | 2019.11.13 |
Hamcrest 프레임워크사용하기_1 (0) | 2019.11.13 |