Spring Runner vs Spring Boot시험
단위 테스트에서, 다음과 같은 차이는 무엇입니까?@Runwith(SpringRunner.class)
&@SpringBootTest
?
각각의 사용 사례에 대해 설명해 주시겠습니까?
@RunWith(SpringRunner.class) : 이 주석은 다음과 같은 스프링 부트 기능만 활성화하기 위해 필요합니다.@Autowire
,@MockBean
Junit 테스트 중 등
는 스프링 부트테스트 기능과 JUnit 사이의 브릿지를 제공하기 위해 사용됩니다.JUnit 테스트에서 스프링 부트 테스트 기능을 사용할 때는 항상 이 주석이 필요합니다.
@Spring Boot테스트 : 이 주석은 엔드 투 엔드 통합 테스트를 위한 완전한 애플리케이션 컨텍스트를 로드하기 위해 사용됩니다.
@Spring Boot테스트 주석은 전체 컨테이너를 부트스트랩해야 할 때 사용할 수 있습니다.주석은 테스트에서 사용되는 Application Context를 작성함으로써 작동합니다.
여기 두 시나리오에 대한 명확한 예가 있는 기사가 있습니다. Balldung
@RunWith는 테스트 러너를 사용하기 위한 JUnit 4의 오래된 주석입니다.JUnit 5(Jupiter)를 사용하는 경우 JUnit 확장을 사용하려면 @ExtendWith를 사용해야 합니다.
https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing 를 참조해 주세요.
JUnit 4를 사용하는 경우 테스트에 @RunWith(SpringRunner.class)도 추가해야 합니다.그렇지 않으면 주석이 무시됩니다.JUnit 5를 사용하는 경우 동등한 @ExtendWith(SpringExtension.class)를 @SpringBoot로 추가할 필요가 없습니다.테스트와 다른 하나는 @…테스트 주석에는 이미 주석이 붙어 있습니다.
spring.io 에서 :
@RunWith(SpringRunner.class)
는 스프링 테스트 지원을 사용하여 실행하도록 JUnit에 지시합니다.SpringRunner
의 새로운 이름입니다.SpringJUnit4ClassRunner
조금 더 보기 편할 뿐이에요.
@SpringBootTest
가 「스프링 부트의 서포트를 포함한 부트스트랩」이라고 말하고 있다(예: 로드).application.properties
스프링 부츠의 좋은 점을 모두 주세요)
따라서 Spring Boot에 로딩된 모든 것이 통합 테스트에 필요하지 않은 경우@SpringBootTest
언급URL : https://stackoverflow.com/questions/58901288/springrunner-vs-springboottest
'programing' 카테고리의 다른 글
Internet Explorer의 JavaScript에서 'JSON'이 정의되지 않은 오류입니다. (0) | 2023.03.06 |
---|---|
Spring Boot 401 보안 없음에도 인증되지 않음 (0) | 2023.03.06 |
$product_id - Woocommerce가 있는 항목 제거 (0) | 2023.03.06 |
AngularJS에서 경로 변경 시 스크롤 위치를 유지하시겠습니까? (0) | 2023.03.06 |
JSON 파일 PowerShell을 통한 반복 (0) | 2023.03.06 |