테스트 코드 5가지 규칙 (FIRST)
- Fast : 빠르게 동작하여 자주 돌릴 수 있어야 함.
- Independent : 각 테스트는 독립적이며, 서로 의존해서는 안됨.
- Repeatable 어느 환경에서도 반복 가능해야 함
- Self-Validating : 테스트는 성공 또는 실패로 bool 값으로 결과를 내어 자체적인 검증이 되어야 함
- Timely : 테스트는 적시에, 즉 테스트하려는 실제 코드를 구현하기 직전에 구현해야 함
테스트 패턴 : given/when/then
- given(준비) : 어떠한 데이터가 준비되었을 때
- when(실행) : 어떠한 함수를 실행하면
- then(검증) : 어떠한 결과가 나와야 함
→ 주로, Assertions.assertThat()
사용