본문 바로가기
SpringBoot/테스트코드

JUnit4와 JUnit5의 차이점.

by devebucks 2020. 7. 19.
728x90

안녕하세요.

요즘 강의를 보면서 모르는 것과 공부하면서 생기는 의문점이 많이 생깁니다. 

 

 이번 글에서 알아볼 내용은 JUnit4와 JUnit5의 차이점 중 하나입니다.

 

 각 테스트 코드마다 공통적으로 들어가는 코드를 미리 실행시켜주는 어노테이션과 테스트가 끝난 후에 공통적으로 실행시켜주는 어노테이션이 버전이 달라지면서 선언하는 어노테이션이 달라져서 이 차이점을 공부해 보았습니다.

 

결론.

JUnit4 JUnit5
@Before
@BeforeClass
@After
@BeforeEach
@BeforeAll
@AfterEach
Public void ...
접근제어자 public기본으로 사용.
void ...
접근제어자 Default로 사용.

 

JUnit4

일단, JUnit4부터 알아보겠습니다. 참고 문서

 

@Before 어노테이션은 각 테스트 코드에 공통적으로 사용되는 코드들을 테스트코드 클래스 안에 하나의 메서드로 정의해서 테스트 코드 멤버 메서드가 실행되기 전에 먼저 실행한 후에 테스트 코드 클래스의 멤버 메서드가 실행되게 해주는 어노테이션입니다.

문서 캡쳐

 

@BeforeClass 어노테이션은 무겁고 오래 동작을 해야하는  코드가 테스트 코드 클래스에서 멤버 클래스들이 실행될 때마다 돌아야 할 때를 위한 어노테이션입니다. 테스트 클래스가 실행될 때 1번만 실행되고 나머지 멤버 테스트코드들은 다 동작하게 됩니다.

문서 캡쳐

@After는 각 테스트 코드 멤버 메서드가 실행이 끝났을 때마다 @After를 선언한 멤버 메서드를 실행해주는 어노테이션입니다.

 

 

 

JUnit5

JUnit5의 경우, 선언 어노테이션이 바뀌었습니다.

@Before -> @BeforeEach

@BeforeClass -> @BeforeAll

@After -> @AfterEach

문서에 나와있는 @BeforeEach와 @BeforeAll

 

 

 

 

감사합니다.

 

 

 

 

...끗

728x90

댓글