1. JUnit5
자바 단위 테스팅 프레임워크 임
테스트 코드 실습
Guide1
-
https://junit.org/junit5/docs/current/user-guide/#writing-tests
Guide2
-
https://www.petrikainulainen.net/programming/testing/junit-5-tutorial-writing-parameterized-tests/
AssertJ
Test Code 가독성을 높여주는 java 라이브러리임
Guide
-
https://assertj.github.io/doc/#assertj-core-assertions-guide
테스트 코드 작성 이유
문서화 역할을 함
코드에 결함을 발견하기 위함임
리팩토링 시 안정성 확보를 위한 것
테스트 하기 쉬운 코드를 작성하다 보면 더 낮은 결합도를 가진 설계를 얻을 수 있음
TDD(Test Driven Development - 테스트 주도 개발)
프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법 임
TFD(Test First Development) + 리팩토링 임
기능 동작을 검증(Method 단위)함
BDD(Behavior Driven Development - 행위 주도 개발)
시나리오 기반으로 테스트 코드를 작성하는 개발 방법임
하나의 시나리오는 Given, When, Then 구조를 가짐
PVM(Password Validation Machine - 패스워드 유효성 검사 시스템)
요구사항
비밀번호는 최소 8자 이상 12자 이하여야 함
비밀번호가 8자 미만 또는 12자 초과인 경우 IIlegalArgumentException 예외를 발생 시킴
경계조건에 대해 테스트 코드를 작성해야 함