[스프링부트3 백엔드 개발자 되기] part 4

CodeKong의 기술 블로그·2023년 10월 31일
1

SPRING BOOT

목록 보기
15/24
post-thumbnail

📌 학습목표

스프링 부트 3에서 테스트 코드를 어떻게 작성하는지 알아보고 싶습을 하며 이해한다.


💡 테스트 코드 개념

테스트 코드란?

✅ 테스트 코드는 기본적으로 존재하는 tset 디렉터리에서 작업합니다.

✅ 테스트 코드에는 다양한 패턴이 있습니다.

given-when-then 패턴

given-when-then은 테스트를 세 부분으로 나눕니다.

  1. given : 테스트 실행을 준비하는 단계
  2. when : 테스트를 진행하는 단계
  3. then : 테스트 결과를 검증하는 단계

💡 테스트 코드 개념

✅ 스프링 부트는 spring-boot-starter-test를 통해 테스트를 위한 도구와 애너테이션을 제공합니다.

JUnit이란?

JUnit이란 자바를 위한 단위 테스트 프레임워크입니다.

✅ 단위 테스트란?

작성한 코드가 의도대로 작동하는지 작은 단위로 검증하는 것! ( 메서드 단위 )

✅ JUnit의 특징

  • 테스트 방식을 구분할 수 있는 애너테이션을 제공
  • @Test로 독립적인 테스트 가능
  • 예상 결과 검증하는 Assertion 제공

✅ JUnit로 단위 테스트 만들기


위 경로로 JUnitTest 클래스를 만들어 줍니다.

JUnitTest.java

public class JUnitTest {

    @DisplayName("1 + 2는 3이다.")
    @Test
    public void junitTest(){
        int a =1;
        int b =2;
        int sum = 3;

        Assertions.assertEquals(sum, a+b);
    }
}

간단한 예제 코드를 작성해줍니다.

  • @DisplayName
  • @Test
  • assertEquals()

성공!

실패했을 때는 어떻게 될까요?❗

JUnitTest.java

public class JUnitTest {

  ...
  
   @DisplayName("1 + 3는 4이다.")
    @Test
    public void junitFailedTest(){
        int a =1;
        int b =3;
        int sum = 3;

        Assertions.assertEquals(sum, a+b);
    
    }
}

잘못된 값을 넣어줍니다.

실패하고 원인까지 보여줍니다!


💡 핵심요약

✅ 테스트 코드를 작성하면 코드의 기능이 제대로 작동한다는 것을 검증할 수 있습니다.
테스트 코드는 보통 given-when-then으로 구분됩니다.
✅ JUnit은 단위테스트를 할 때 사용하는 자바 테스트 프레임워크이다.
@BeforeAll➡️@BeforeEach➡️@Test➡️@AfterEach➡️@AfterAll 의 생명주기를 갖습니다
✅ AssertJ는 JUnit과 함께 사용하여 검증문의 가독성을 높여줍니다.

0개의 댓글