728x90
JUnit
- java의 독립된 단위 테스팅(Unit Testing) 도구이다.
- 단 하나의 jar 파일로 되어 있다.
- Testing 결과를 단순히 문서로 남기는 것이 아니라 Test Class를 그대로 남김으로써 추 후 개발자에게 테스트 방법 및 클래스의 History를 넘겨줄 수 있다.
- @Test 메서드가 호출할 때 마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지게 한다.
🔍 애노테이션
💡 @BeforeEach
@BeforeEach
public void beforeEach() {
}
- 각각의 @Test 메서드들이 실행 되기 전에 먼저 @BeforeEach 애노테이션이 붙어있는 메서드가 먼저 실행된다.
- 실행 순서 : @BeforeEach 메서드 → @Test 메서드
- @Test 메서드가 실행되기전에 공통적인 설정을 할 때 쓰인다.
💡 @AfterEach
@AfterEach
public void afterEach() {
}
- 각각의 @Test 메서드들이 실행 된 후에 @AfterEach 애노테이션이 붙은 메서드가 실행이 된다.
- 실행 순서 : @Test 메서드 → @AfterEach 메서드
- @Test 메서드가 실행 된 후에 공텅적인 뒤처리를 할 때 쓰인다.
Assertions 클래스
🔍 org.assrtj.core.api.Assertions 클래스
- 주로 static import로 사용한다.
💡 Assertions.assertThat(객체1).isEqaulsTo(객체2);
- assertThat() 메서드로 비교할 대상을 설정하고 isEqualsTo() 메서드로 사용자가 생각하는 값을 비교한 뒤 그게 맞는지 검사하는 테스트다.
- assertThat() 메서드의 강점은 오류가 났을 때 기대값과 실제값을 둘 다 보여줘서 뭐가 틀린지 명확하게 보여줘서 오류 찾는 시간을 단축시킨다.
💡 Assertions.assertThat(객체1).isSameAs(객체2);
- isSameAs() 메서드는 참조 값이 같은지 비교하고, isEqualsTo() 메서드는 원시값이 같은지 비교한다.
- cf. Assertions.assrtThat(객체1).isNotSameAs(객체2);
💡 Assertions.assertThat(객체1).isInstanceOf(객체2);
- assertThat() 메서드의 파라미터에 테스트할 대상을 넣고 isInstanceOf() 메서드의 파라미터에 앞의 테스트 대상의 인스턴스니? 라고 묻는다.
- 앞에 자식이 될 요소를, 뒤에는 부모가 될 요소를 넣는다.
- 즉, 참조나 상속을 받고있니? 라고 묻는 것이다.
🔍 org.jnuit.jupiter.api.Assertions
💡 Assertions.assertThrows(예외클래스, 에러를_일으키는_코드);
- 일부러 오류를 발생시켜서 테스트하는 코드
- 회원 조회가 안되거나, 문자가 들어와야 하는데 숫자가 들어간다거나 같은 예외 처리 테스트 코드
- 예외가 들어와서 오류가 제대로 나오는지 테스트하기 위해 쓰인다.
- 첫번 째 인자에는 예외 클래스를, 두번 째 인자에는 에러를 발생시키는 요소를 넣는다.
- 에러를 발생시키는 요소로 인해 지정된 예외 클래스가 발생하면 true 값을 반환한다.
728x90
'[ Spring ] > Spring' 카테고리의 다른 글
[Spring] Validator 등록하기 (검증 객체 생성) (0) | 2022.03.17 |
---|---|
[Spring] HttpServletRequest 객체 (0) | 2022.02.06 |
[Spring] 빈(Bean) 스코프(scope) (0) | 2022.01.31 |
[Spring] 빈(Bean) 생명주기 콜백 시작 (0) | 2022.01.29 |
[Spring] 조회한 빈(Bean)을 List, Map에 담기 (0) | 2022.01.24 |