아래의 예제 대로 실행을 하면 Before, test,After 가 순차적으로 진행이 되어야한다.
public class BeforeAfter {
@Before
public void SetUp(){
System.out.println("Before");
}
@Test
void transformation() {
System.out.println("test");
}
@After
public void after(){
System.out.println("After");
}
}
하지만 test 밖에 출력이 되지 않았다. 왜 그런걸까 찾아보니 JUnit5 에서는 @Before, @After 가 @BeforeEach, @AfterEach 로 설정을 해야한다.
JUnit5 의 어노테이션으로 아래의 코드로 다시 실행을 하니 다시 실행이 된다.
public class BeforeAfter {
@BeforeEach
public void SetUp(){
System.out.println("Before");
}
@Test
void transformation() {
System.out.println("test");
}
@AfterEach
public void after(){
System.out.println("After");
}
}
SpringBoot에서 JUnit이 몇버전인지 알고 싶을때 아래로 확인하고 변경하면 된다.
생각없이 그냥 springInitializer에서 다운을 받으면 아래와 같은 설정이 있는데, springboot-2.2.X 이후부터는 Junit5로 설정이 되어있는 것 같다.
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes
'BackEnd > Spring' 카테고리의 다른 글
Eclipse -No tests found with test runner JUnit 5 (1) | 2020.03.10 |
---|---|
SpringWebMVC (3) SpringMVC (0) | 2020.03.02 |
SpringWebMVC 시작하기 (2) - Servlet에 IOC 사용하기 (0) | 2020.03.01 |
SpringWebMVC 시작하기 (1)-Servlet (0) | 2020.03.01 |
[Spring] 다른 타입들을 리스트로 받아오기( Jackson Library) (0) | 2020.02.28 |