[section 3] Spring MVC - 테스팅(1) - 단위 테스트, JUnit

수경·2023년 1월 4일
0

코드스테이츠

목록 보기
47/57

단위 테스트

단위 테스트의 대상은 주로 메서드 단위가 된다!
독립적이고 작은 단위일수록 좋음
빠르고! 쉽게!

기능 테스트

제 3자(사용자)의 입장에서 애플리케이션이 제공하는 기능이 올바르게 동작하는지 테스트

테스트의 주체 : 제 3자(사용자)

❗️영역이 너무 크기 때문에 단위 테스트라고 할 수 없음

통합 테스트

애플리케이션을 만든 개발자(개발팀)가 테스트
클라이언트 측 툴 없이 테스트 코드로 이루어지는 경우가 대부분

❗️여전이 영역이 크다! 단위 테스트 x

슬라이스 테스트

애플리케이션을 특정 계층으로 나눠서 진행하는 테스트

❗️대상이 되긴 하지만, DB와 연동하기 때문에 단위 테스트라는 말보단 슬라이스 테스트라고 칭함

DB 연동 테스트 ➡️ 테스트 전/후의 DB 상태가 같다면 DB연동도 단위 테스트에 포함 가능

F.I.R.S.T 원칙

  • Fast(빠르게) : 자주 많이 돌릴거니까!

  • Independent(독립적) : 다른 코드에 상관없이 돌아가야 하니까!

  • Repeatable(반복 가능하도록)

  • Self-validating(셀프 검증) : 성공 / 실패 판단

  • Timely(시기 적절하게) : TDD - 테스트 할 기능을 구현하기 전에 작성


JUnit

Java기반 Application을 테스트하기 위한 오픈소스 테스트 프레임워크

애너테이션

  • @Test

  • @DisplayName("test name") : 테스트 이름 설정

Assertion 메소드

  • assertEquals()

  • assertNotNull()

  • assertThrows()

  • assertNotThrows()

etc..

테스트 전처리

테스트를 하기 전, 객체나 데이터의 초기화 작업

  • @BeforeEach : 각 메소드 실행 전 호출

  • @BeforeAll : 맨 처음 한 번 호출 ➡️ 정적 메소드여야 함

테스트 후처리

테스트 종료 후 후처리

  • @AfterEach

  • @AfterAll

profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글