반응형
Spring에서 테스트 클래스 사용을 위한 두 가지 어노테이션들에 대해 알아봅시다.
우선, Mokito를 사용하기 위해서는 아래와 같은 코드 작성을 해줘야 합니다. 테스트클래스 위에 @RunWith 어노테이션을 작성하여 Mock 객체를 사용하거나, @RunWith 어노테이션을 작성하지 않을 경우 setUp() 메소드를 아래처럼 만들어줍니다.
@RunWith(MokitoJunitRunner.class)
public class TestClass {
}
public class TestClass {
@BeforeEach
public void setUp() {
MokitoAnnotations.initMocks(this);
}
}
@Mock
실제 인스턴스가 없는 가상의 Mock 인스턴스를 만들어 반환합니다.
@MockBean
ApplicationContext에 Mock 객체를 추가합니다.
@InjectMock
@Mock이나 @Spy 객체를 자신의 멤버 클래스와 일치하면 주입합니다.
@SpyBean
ApplicationContext에 Spy 객체를 추가합니다.
@Mock, @MockBean의 차이
@MockBean은 @Mock과 달리 spring-boot-test에서 제공하는 어노테이션으로, Spring이 관리하는 Bean들 중에서 하나 이상을 Mock 객체로 사용하고 싶을 때 사용합니다.
반응형
'Java Web > Spring' 카테고리의 다른 글
[Spring] 스프링 form 태그 사용 관련 링크 (0) | 2021.09.29 |
---|---|
[Spring] Spring Security 로그인 구현 (0) | 2021.08.12 |
[Spring] Dependency Injection(의존성 주입) (0) | 2021.08.10 |
[Spring] 스프링 부트 Gradle 빌드에서 .jsp와 jstl 적용 (0) | 2021.07.25 |
[Spring] 스프링 어노테이션 역할, @Configuration, @Bean, @Component, @Controller, @Service, @Repository (0) | 2021.07.20 |