@Mock, @MockBean 및 Mockito.mock()의 차이점 이해
테스트를 개발하고 종속성을 모의할 때 다음 사항이 중요합니다. 일반적으로 사용되는 세 가지 접근 방식인 @MockBean, @Mock 및 Mockito.mock() 간의 차이점을 이해합니다.
Mockito와 Spring Boot @MockBean
Mockito(클래식/일반):
import org.mockito.Mock;<br>...<br>@Mock<br>MyService myservice;<br></ pre></p> <p><pre class="brush:php;toolbar:false">import org.mockito.Mockito;<br>...<br>MyService myservice = Mockito.mock(MyService.class);<br>
Mockito는 주석을 사용하고 클래스나 인터페이스를 모의하는 직접적인 방법을 제공합니다.
Spring Boot @MockBean:
import org.springframework. boot.test.mock.mockito.MockBean;<br>...<br>@MockBean<br>MyService myservice;<br>
Spring Boot의 @MockBean은 특별히 사용되는 주석입니다. Spring Boot 프레임워크 내에 있습니다.
차이점:
사용 시기:
Mockito.mock() 대 @Mock @MockBean
@Mock(Mockito에서)과 @MockBean(Spring Boot에서) 모두 모의 작업에 사용되지만 미묘한 차이가 있습니다. 차이점:
기능적으로 둘 다 동일한 결과를 달성하므로 어떤 것을 사용할지는 특정 테스트 요구 사항에 따라 결정됩니다.
실용적 사용법
Spring 컨텍스트가 없는 단위 테스트:
@Mock<br>MyService myservice;<br>
Spring 컨텍스트 및 Bean 재정의를 사용한 단위 테스트:
@MockBean<br>MyService myservice;<br>
Spring WebMvc 테스트에 모의 추가:
@WebMvcTest(FooController.class)<br>@MockBean<br>FooService fooServiceMock;<br>
위 내용은 질문 형식을 강조하는 기사 제목 옵션은 다음과 같습니다. 짧고 강력함: * @Mock, @MockBean 또는 Mockito.mock(): 어떤 모의 전략이 귀하에게 적합합니까? * 스프링 부트 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!