FIRST 원칙
•
단위 테스트를 위한 원칙이다.
•
Fast
◦
테스트는 빨라야 한다.
•
Isolated
◦
다른 테스트에 종족적인 테스트는 절대 작성하지 않는다.
•
Repelatable
◦
테스트는 실행할 때마다 같은 결과를 내야한다.
•
Self-validating
◦
테스트는 스스로 결과물이 옳은지 그른지 판단할 수 있어야 한다.
•
Timely
◦
테스트는 프로덕션 코드가 테스트를 성공하기 직전에 구성되어야 한다.
단위 테스트 작성 원칙
•
public 메소드를 테스트한다.
•
테스트 결과에 영향을 미치는 의존성 객체는 모킹한다.
•
외부 IO 관련 의존성은 가능한 사용을 피하라.
⇒ 테스트 더블을 사용하자.