간단한 특징

  • 백기선님 Java 코드를 테스트하는 다양한 방법
    • JUnit5 특징 * @DisplayName 으로 테스트에 대한 설명을 적을 수 있다.
      • AssertAll 을 이용해서 multi assert 가능하다. (기존에는 하나가 실패하면 다음 assert 를 실행하지 않음)
      • assertThrows 를 이용해서 exception 을 기대할 수 있고, 객체를 받아서 상태를 검증할 수도 있다.
      • 반복테스트 가능
      • ParameterizedTest 가능
      • DI 지원
      • 각각의 시점에 다라 extention 방법이 다르다.
      • @RunWith-> @ExtendWith
        • meta annotation 으로 사용가능하고 @SpringBooTest annotaion 에 포함 되어 있다.
      • @TestContainers 를 지원함
    • Jib: Containerize your Gradle Java Project
    • DockerCompose 를 이용해서 IntegrationTest 환경을 구성해 보자. -> Mock 지양
    • Docker Compose JUnit Rule: 을 이용하여 Junit 실행시점에 통합환경을 빌드함.
      • 단점: 느리다. JUnit5 에서 tag 기능을 이용해서 테스트 그룹을 나눠서 CI 서버에서만 동작하게 할 수 도 있다.
    • Chaos Monkey For Spring Boot

참고자료