Junit-vintage-engine과 Junit-jupiter-engine의 차이점은 무엇입니까?
두 가지 질문입니다.
- 와의 차이는 무엇입니까?
junit-vintage-engine그리고.junit-jupiter-engine? - Spring Boot 스타터 프로젝트에는 다음 항목이 제외됩니다.
junit-vintage-enginejunit-jupiter-engine 사용을 강제하기 위한 것입니까?
다음은 Spring Initializr에서 생성된 Spring Boot 프로젝트의 의존관계를 나타냅니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
junit-vintage-engineJUnit 4 테스트 실행에 사용됩니다.junit-jupiter-engineJUnit 5 테스트용입니다.
새로운 스프링 부트 프로젝트에서는 JUnit 5 테스트만 작성되므로 빈티지 엔진은 필요하지 않습니다.따라서 POM에서는 디폴트 의존관계 제외가 됩니다.
레퍼런스:
https://junit.org/junit5/docs/current/user-guide
답변: 1. 읽기를 통해 다음과 같은 차이를 발견했습니다.
junit-syslog-engine:
- Junit-4 테스트에서 사용됩니다.
- 코어 클래스 및 주석을 호출하는 데 사용됩니다.
- 테스트를 수행하기 위한 어설션 방법을 제공하는 'Assert'입니다.
- '가정'은 추측을 할 때 사용합니다.
- @Ignore, @Before 등의 주석을 사용합니다.
junit-syslog-engine:
- Junit-5 테스트에서 사용
- 테스트 케이스를 작성하는 데 도움이 되는 API를 제공합니다.
- 'Assessions'는 시험을 위한 어설션 조건의 효용 방법을 제공한다.
- '가정' - 효용 방법은 가정에 기초한 조건을 제공합니다.
- 주석 이름의 비트를 변경합니다(@Disable, @BeforeAll, @BeforeEach 등).
답변: 2.또, 낡은 빈티지 라이브러리가 아직 제공되고 있는 것도 놀랐습니다만, 지금까지의 사용법에 근거해 보면, 다음의 업데이트에서 확인할 수 있습니다.
좋은 하루 되세요!!!:)
첫 번째 질문은 JDK 버전과도 관련이 있습니다.주피터 엔진을 사용하려면 Java 8 이상이 필요합니다.두 번째 질문입니다.빈티지 엔진은 JUnit4용이고 JUnit4는 10년 이상 되었기 때문에 사용을 권장하지 않습니다.제가 알기로는 java가 많이 진화했는데도 지금까지 업데이트가 되지 않은 것으로 알고 있습니다.그래서 스프링 이니셜라이저가 Junit-jupiter-engine을 사용하는 것 같습니다.
언급URL : https://stackoverflow.com/questions/59193282/difference-between-junit-vintage-engine-and-junit-jupiter-engine
'programing' 카테고리의 다른 글
| Angular 2의 "select"에서 새 선택을 받으려면 어떻게 해야 합니까? (0) | 2023.02.23 |
|---|---|
| 스프링: 정적 필드에 값을 주입하려면 어떻게 해야 합니까? (0) | 2023.02.23 |
| 각도 2/4/5가 IE11에서 작동하지 않음 (0) | 2023.02.23 |
| 유형 [단순 유형, 클래스...]에 대한 (Map) 키 역직렬라이저를 찾을 수 없습니다. (0) | 2023.02.23 |
| 리액션 js의 텍스트 필드에 길이 제약 조건을 넣습니다. (0) | 2023.02.23 |