> Java > java지도 시간 > 본문

질문 형식을 강조하는 기사 제목 옵션은 다음과 같습니다. 짧고 강력함: * @Mock, @MockBean 또는 Mockito.mock(): 어떤 모의 전략이 귀하에게 적합합니까? * 스프링 부트 테스트

DDD
풀어 주다: 2024-10-26 17:21:03
원래의
241명이 탐색했습니다.

Here are a few title options for your article, emphasizing the question format:

Short & Punchy:

* @Mock, @MockBean, or Mockito.mock(): Which Mocking Strategy is Right for You?
* Spring Boot Testing: When to Use @Mock, @MockBean, and Mockito.mock()?
* Mo

@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를 사용하면 단위 테스트에 대한 종속성을 모의할 수 있는 반면, @MockBean은 Spring ApplicationContext에 모의 항목을 추가합니다.
  • @MockBean은 기존 Bean 정의를 기반으로 컨텍스트에 모의 객체를 대체하거나 추가하는 반면, Mockito는 Spring과 상호 작용하지 않습니다.

사용 시기:

  • Spring 컨테이너와 별도로 구성 요소를 테스트할 때 Mockito를 사용하세요.
  • 테스트에서 Spring 컨테이너와의 상호 작용이 필요하고 그 안에 있는 특정 Bean을 모의해야 할 때 @MockBean을 사용하세요.

Mockito.mock() 대 @Mock @MockBean

@Mock(Mockito에서)과 @MockBean(Spring Boot에서) 모두 모의 작업에 사용되지만 미묘한 차이가 있습니다. 차이점:

  • @Mock: 단위 테스트 내에서 모의 ​​작업에 사용되는 Mockito 주석.
  • @MockBean: Spring Boot 주석이 사용됨 Spring ApplicationContext 내에서 모의 ​​작업을 수행합니다.

기능적으로 둘 다 동일한 결과를 달성하므로 어떤 것을 사용할지는 특정 테스트 요구 사항에 따라 결정됩니다.

실용적 사용법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!