좋은 테스트의 FIRST 속성 Fast : 테스트가 오래 걸리면 자주 돌리기 어렵다. 느린 로직이 있으면 의존성을 줄여야 한다. 예를 들어, DB처리하는 로직이 포함되어 있으면, 해당 부분을 별도로 떼어내서 따로 테스트를 짜도록 구조개선한다. Isolated : 어떤 순서나 시간에 관계없이 실행할 수 있도록. 하나의 테스트가 여러 이유로 실패할 수 있다면, 독립적으로 분리해 내야 한다. Repeatable : 실행할 때마다 결과가 같아야 한다. 시간값이나 외부 값에 따라 결과가 다르다면 Mock객체 활용 등으로 동일한 결과가 나오도록 구현한다. Self-validating : 출력값을 확인하기보다는 성공/실패가 명확히 나오도록 한다. Timely : 테스트코드를 미루는 것은 양치를 미루는 것과 같다. 큰..