🟦Unit Test ( 단위 테스트 )

유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차다. 즉, 모든 함수와 메소드에 대한 테스트 케이스(Test case)를 작성하는 절차를 말한다.

하나의 모듈 ( 기능 또는 메소드 )가 정상적으로 작동하는지 테스트 하고 검증한다.

일단 테스트 코드를 작성해야 차후 해당 모듈을 수정하게 되었을 경우에도 의존 관계에 있는 모든 코드 부분에 영향이 가므로 의도치 않은 곳에서 버그가 나는 걸 사전에 방지할 수 있다. 즉 리팩토링 시 안정성을 확보할 수 있지만 하나를수정하면 의존관계 때문에 모든 곳에 영향을 줄수있기때문에

유지보수의 난이도가 많이 올라가긴 하더라...

좋은 단위 테스트의 특징

  1. 1개의 테스트 함수에 대해 assert를 최소화 하자.

  2. 1개의 테스트 함수는 1가지 개념만을 테스트 하자.

객체지향에서 지향하는 단일 책임 원칙을 지켜서 테스트 하자는 것이다.

FIRST

좋고 깨끗한 테스트 코드는 5가지 규칙을 따라야 한다.

  1. Fasst : 빠르게 동작해야 함.

  2. Independent : 테스트 코드는 각각 독립적이어야 함.

  3. Repeatable : 어느 환경에서도 반복 가능해야 함.

  4. Self - Validating : 테스트는 성공 또는 실패로 검증 되어야 함.

  5. Timely : 실제 코드를 구현하기 전에 테스트를 구현해야 한다.

Timely의 경우 TDD를 의미하는 것과 같다.

Last updated