유닛 테스트(Unit Test)
- 메모리에서 실행
- 매우 구체적이고 매우 적은 양의 코드에 대해 테스트를 수행하는 것을 의미
- 데이터베이스 적중 금지
- 네트워크 액세스 금지
- 파일 시스템 사용 금지
유닛 테스트의 4가지 필수 요소
- 독립적(Independent)
- 자동(Automatic)
- 반복 가능(Repeatable)
- 읽기 쉬운(Readable)
독립적(Independent)
- 기본적으로 네트워크 연결에 의존하지 않고 단위 테스트를 실행할 수 있음을 의미
- 여러 단위 테스트가 있는 경우 서로 종속되어서는 안된다
- 따라서 테스트가 통과하는 유일한 방법은 모든 테스트를 실행해서 모두 통과하는 것이다
- 테스트는 서로 의존하거나 실행되는 순서에 의존해서는 안된다
- 단위 테스트는 통과 여부에 관계없이 동일하고 정확한 결과를 제공해야 한다
자동(Automatic)
- 밤에 일어나서 단위 테스트를 실행하기 위해 버튼을 클릭할 필요가 없다 -> 자동으로 테스트가 되어야한다
반복 가능(Repeatable)
- 테스트 통과에 필요한 사전 조건이 있는 경우 좋은 테스트가 아니다
읽기 쉬운(Readable)