lottie
Seungjun's blog
blog
F.I.R.S.T 원칙

Fast

유닛 테스트는 빠르게 실행되고 빠르게 결과를 알아야 합니다.

그러므로 하는 일의 단위가 최대한 작아야 합니다.

또한 빠른 테스트를 하기 위해선 실제 서버나 데이터베이스를 이용하지 않고 가짜 데이터(모의 데이터)를 만들어서 테스트를 진행해야합니다.


Independent

유닛 테스트는 그 자체만으로 실행되어야 합니다.

즉, 독립적이어야 하고 다른 테스트에 의존하거나 영향을 주어선 안됩니다. 모든 테스트는 서로 영향을 주면 안됩니다.


Repeatable

유닛 테스트는 반복 가능해야 합니다.

테스트를 어디서 어떻게 몇 번을 진행하든 똑같은 결과가 나와야합니다.


Self-validating

유닛 테스트는 자체 검증이 가능해야 합니다.

테스트 자체로 통과인지 실패인지 결과가 나와야 하며 이것은 자동적으로 이뤄져야 합니다.

또한 자동적으로 이뤄진다는 것은 코드를 작성하는 사람이 출력이나 로그를 통해서 수동적으로 결과를 확인하는 것이 아니라 그 테스트는 자체적으로 결과가 나와야합니다.


Thorough & Timely

유닛 테스트는 철저하고 적절한 때에 작성되어야 합니다.

철저하다는 것은 모든 데이터를 검사해야 하므로 최소에서 최대까지 범위를 포함하고 역할에 따라서 바뀌는 데이터 사용자일때 관리자일 때 모두 테스트가 가능해야 하며 어떤 케이스가 실패(예외나 오류)하는지도 테스트 해야합니다.

유닛 테스트는 철저하고 적절한 때에 작성되어야 합니다. 철저하다는 것은 모든 데이터를 검사해야 하므로 최소에서 최대까지 범위를 포함하고 역할에 따라서 바뀌는 데이터 사용자일때 관리자일 때 모두 테스트가 가능해야 하며 어떤 케이스가 실패(예외나 오류)하는지도 테스트 해야합니다.

마지막으로 유닛 테스트는 실제 코드를 작성하기 바로 전에 작성해야 합니다.