반응형
단위 테스트(unit test)
개발자가 작성한 가장 작은 단위를 검증하는 테스트 기법을 단위 테스트라고 한다.
단위는 객체와 메소드를 카리키며, 각각의 객체와 메소드가 올바르게 동작하는지 검증하고 예외적인 상황엥서 적절하게 동작하는지 확인한다.
단위 테스트 5가지 원칙 F.I.R.S.T
Clean code의 저자인 Robert Martin이 제시한 규칙으로, 효과적인 단위 테스트를 위한 5가지 원칙을 제시했다.
- Fast : 단위 테스트는 빠르게 실행되어야 한다.
여러 항목에 대해서 여러 번 수행이 되기 때문에 한 번의 실행 속도가 전체에 큰 영향을 준다. 그래서 단위 테스트가 빠를수록 개발 프로세스에 방해를 주지 않기 때문에 더 자주 실행할 수 있다.
더 빠른 속도를 위해 가능한 인프라, 외부 호출, DB에 의존하는 코드를 가능한 mocking으로 만들어야 한다. - Independent : 단위 테스트는 독립적으로 수행되어야 한다.
다른 단위 테스트에 영향을 받지 않아야 하며 테스트의 순서에 상관없이 동작해야 하며, 각각의 테스트는 자신의 테스트 대상에 대해서만 테스트를 수행해야 한다. - Repetable : 단위 테스트는 같은 입력에 대해서 같은 결과를 반환해야 한다.
단위 테스트는 입력이 같다면 여러 번 실행되더라도 그 결과가 달라지면 안된다. - Self validating : 단위 테스트는 스스로 검증이 가능해야 한다.
통과인지 실패인지 결과를 바로 확인할 수 있어야 하고 자동으로 실행되어야 한다. 즉, 결과가 애매한 상황이 없어야 한다. - Timely : 단위 테스트는 적절한 시점에 작성되어야 한다.
개발 초기 단계에 작성되어야 하며, 실제 코드가 작성되는 시점에 맞춰 개발되어야 한다.
반응형
'테스트코드' 카테고리의 다른 글
unitTest - Mockito (0) | 2024.05.26 |
---|---|
JUnit - Assertions 조건부 실행 (0) | 2024.05.20 |
JUnit - Assertions 실행 메서드 (0) | 2024.05.17 |
JUnit - Assertions 비교 메서드 (0) | 2024.05.16 |
JUnit - Test와 생명주기 메서드 (0) | 2024.05.16 |