지난 포스팅에서 JUnit5 설정 방법을 알아봤다 (gradle)
설정을 아직 안했다면 이걸 보자
https://nataekoon.tistory.com/119
Junit 5 설정하기
builder.gradle 파일에 다음과 같이 설정해주면 된다
nataekoon.tistory.com
어노테이션에 대한 설명은 하단에서 한다, 충분히 유추 가능하니
우선 사용법 부터 보자
1. True 을 단정하기
말 그대로 참을 단정한다
여기서 assertTrue 는 static import를 한것이니 패키지 명에 주의하자
junit의 꺼다
2. 거짓을 단정하기
(1) 의 을 거짓을 부정해서 참으로 단정할 수 있겠지만
따로 존재한다
3. Null 단정하기
4. Not Null 단정하기
5. 테스트가 실패했음을 단정하기
fail() 이라는 메서드로 실패를 단정한다
예제에서는 랜덤 값이 10일 때로 조건을 걸었다
예외 메세지 콘솔은 다음과 같다 AssertionFailedError 를 확인했다
6. 같음을 단정하기
7. 다름을 단정하기
주의 할건
assertEquals / assertNotEquals 메서드의 파라미터 순서인데
첫번째 파라미터 - 기대값
두번째 파라미터 - 검증할 값 (실제값)
즉, B가 A이길 바라는거다
8. 객체가 같음을 단정
9. 객체가 다름을 단정
10. 특정 예외가 발생함을 단정
assertThrows 메서드를 사용하는데 파라미터 순서에 주의 하자
첫번쨰 파라미터: 발생할 예외 클래스 명시
두번째 파라미터: 실행할 로직 (편하게 람다식으로 작성한다)
11. 예외가 발생하지 않음을 단정
assertDoesNotThrow 메서드로 파라미터는 하나만 받는다 (편하게 람다식으로 작성한다)
10번과 11번의 람다식은 Executable 함수형 인터페이스로
execute() 라는 메서드를 잘보면 예외를 던지게 되어있다
어노테이션에 대해서 알아보자
첫번쨰 - @Test 어노테이션
테스트 메서드에 반드시 적용해야 하는 어노테이션이고,
메서드는 private 이면 안된다.
두번쨰 - @DisplayName("") 어노테이션
JUnit은 메서드를 한글로 짓기엔 거시기한게 있어서 설명을 달 수 있는 어노테이션을 제공한다
@DisplayName("") : 테스트에 설명을 추가한다, 클래스나 메서드에 사용할 수 있다
이렇게 추가하고 테스트를 실행하면 다음과 같이 표시된다 (사용하지않으면 메서드 이름으로 대체된다)
세번쨰 - @BeforeXXX , @AfterXXX 선후 관계 어노테이션
예를 들어 테스트 마다 시점에 대하여 처리할 로직이 있다면
유용하게 쓰일 수 있다
1. @BeforeAll 모든 테스트 시작 전에 호출 한다
2. @BeforeEach 각 테스트 시작 전에 호출 한다
3. @AfterEach 각 테스트 종료 후에 호출 한다
4. @AfterAll 모든 테스트 종료 후에 호출 한다
그렇다면 테스트 코드를 실행해보고 출력을 봐보자
너무 많으니까 하나만 실행해서 봐보자
콘솔을 보면 바로 이해할 수 있을 것이다
네번쨰 - @Disabled 어노테이션
어떤 이유로 해당 테스트를 실행하고 싶지 않을때 사용 할 수 있다
전체 테스트를 실행해보면 무시되는 것을 볼 수 있다
우아 힘들다... 이만 마쳐보겠다
'개발 > spring' 카테고리의 다른 글
트랜잭션 ACID (0) | 2024.06.29 |
---|---|
MXBean already registered with name org.apache.commons.pool2:type=GenericObjectPool,name=pool 에러 (0) | 2024.06.07 |
Junit 5 설정하기 (0) | 2024.04.28 |
yaml(yml)에 있는 값을 실시간으로 가져오고 싶다(프로퍼티) (0) | 2024.04.02 |
Test 코드에서 lombok 사용하기 (0) | 2024.02.13 |