본문 바로가기

TIL

2023.01.26 단위 테스트

  • 통합 테스트와 단위 테스트
    • 단위 테스트 : 가장 작은 단위의 테스트 방식. 메서드 단위로 테스트를 수행하고, 의도한 결과값이 나오는지 확인하는 수준 (ex: controller, service, repository… 격리해서 따로따로)
    • 통합 테스트 : 어플리케이션이 정상적으로 동작하는지 확인. 여러모듈을 함께 테스트 (ex: controller 메소드를 호출하면 controller → service→ repository 모두 수행)

  • F.I.R.S.T 원칙
    • Fast : 단위 테스트는 빨라야 한다.
    • Independent : 단위 테스트는 각각의 테스트가 연관되지 않고, 고립되어야 한다. 즉 독립적 이어야 한다.
    • Repeatable : 단위테스트는 반복 가능해야한다. 반복적으로 테스트를 시행해도, 결과는 같아야 한다.
    • Self-validating : 자체적으로 테스트 결과가 도출되야한다. (개발자가 print 찍어서 비교하는게 아니고 자동으로 수행되며 성공/실패 의 결과가 나오는 것)
    • Timely : 단위 테스트는 실제 코드보다 먼저 구현해야한다. (TDD일 경우에만 해당) 
  • Given-When-Then 패턴
    • Given : 테스트에 필요한 변수를 정의하거나 Mock 객체를 통해 특정 상황에 대한 행동을 정의합니다.
    • When: 실제 테스트를 하는 메소드가 호출되며 테스트를 통한 결과값을 가져옵니다.
    • Then: When 단계에서 나온 결과값을 검증하는 작업을 수행합니다.
  • JUnit의 생명 주기
    • @BeforeAll : 테스트를 시작하기 전에 호출되는 메서드
    • @BeforeEach : 각 테스트 메서드가 실행되기 전에 동작하는 메서드
    • @AfterAll : 테스트를 종료하면서 호출되는 메서드
    • @AfterEach : 각 테스트 메서드가 종료되면서 호출되는 메서드 

'TIL' 카테고리의 다른 글

CI/CD  (0) 2023.01.31
[WIL] 2023.01.25~01.27  (0) 2023.01.31
[WIL] 2023.01.16~01.20  (0) 2023.01.24
2023.01.19 페이징  (0) 2023.01.20
2023.01.18 Shopppingmall 프로젝트(3)  (0) 2023.01.19