유닛 테스트(Unit Test, 단위 테스트)
애플리케이션 안에 있는 **개별적인 코드 단위(기능)**가 개발자가 의도한 대로 작동하는지 확인하는 작업
단위 테스트를 하는 이유
- 원하는 부분만 테스트를 함으로써 결과를 빠르게 볼 수 있다.
- 미리 작성한 단위 테스트를 기반으로 프로덕션 코드의 리팩토링을 안정적으로 할 수 있다.
- 단위 테스트가 실패하는 지점에서 문제점을 빠르게 찾을 수 있다.
FIRST 원칙
- F(Fast)
- 유닛 테스트에서는 빠른 속도로 테스트를 수행할 수 있도록 설계해야 한다.
- I(Independent / Isolated)
- 유닛 테스트는 각각의 테스트가 서로 독립적으로 실행될 수 있어야 한다.
- R(Repeatable)
- 유닛 테스트는 반복적으로 실행될 수 있어야 한다.
- S(Self-Automation)
- 자동화된 테스트는 시간과 비용을 절약할 수 있다.
- 개발자가 코드를 변경하거나 기능을 추가할 때마다 쉽게 실행할 수 있기 때문에 버그를 신속하게 찾을 수 있다.
- T(Timely)
- 코드를 수정했을 때 해당 수정으로 인해 다른 기능이 영향을 받는지 확인할 수 있는 시점에 테스트를 실행해야 한다.
- 코드 수정 후 변경 사항을 더욱 빠르게 확인할 수 있도록 도와준다.