Spring Boot/testing

단위 테스트 기본

최-코드 2024. 11. 8. 22:33

구조 

  1. Set Up : 테스트할 클래스의 인스턴스 생성 + 테스트 값(기댓값) 생성
  2. Execute : 실제로 테스트할 메서드 호출
  3. Assert : 결과를 확인하고, 예상한 값과 일치하는지 검증

@Test : 테스트로 사용할 메소드 위에 꼭 붙여줘서 JUnit이 이 메서드를 테스트 메소드로 인식하게 해준다. 테스트 메소드의 이름은 아무거나 상관없다.

 

example

class DemoUtilsTest {

    @Test
    void testAdd() {
        //set up
        DemoUtils demoUtils = new DemoUtils();

        int expected = 6;

        //execute
        int actual = demoUtils.add(2, 4);

        //assert
        Assertions.assertEquals(expected, actual, "2+4 must be 6");
    }
}

 

Assertions : assert를 위한 메소드가 들어있는 클래스이다.

  • assertEquals(1, 2, 3) : 1에는 기대되는 값이고 2에는 실제 계산된 값을 넣어준다. 선택적으로 3에 실패했을 때 메세지를 넣을 수 있다.
  • assertNotEquasl(1, 2, 3) : 1에는 기대되지 않는 값을 넣고 2와 3은 assertEquals와 같다. 1과 2의 값이 다르면 메소드가 성공적으로 실행을 마친다.
  • assertNull(1, 2) : 1에는 실제 계산된 값을 넣어주고 2에는 테스트가 실패했을 때의 메세지를 넣어준다.
  • assetNotNull(1, 2) : assertNull과 같은 인자의 형태이다. assertNull과 다르게 1에 넣어준게 null이 아니어야 테스트가 성공적이다.