포스트

Unit Test 유닛/단위 테스트

Unit Test 유닛/단위 테스트

💫 Unit Test 유닛/단위 테스트


(특정 단위의) 코드를 분리하여 테스트하는 코드
특정 단위, 유닛 : 함수, 클래스, 컴포넌트, 프로그램 일부 (!전체 프로그램)

간단한 테스트를 위해서도, 프로그램 전체를 실행시켜야 하는 문제 해결
(로컬 환경에서의 프로그램 실행 리소스, 필요 데이터, 선조건)

💫 TDD?


TDD, Test Driven Development 테스트 주도 개발
코드를 설계 할 때, Unit Test를 미리 작성하는
어떻게 보면 처음부터 완벽한 상태를 가지려고 하는

Public 하거나, API 이거나, I/O가 분명한 = 변하지 않는 것들은
미리 Unit Test를 작성하면 유용

하지만 그 외는,
사용자 피드백이나, 미처 발견하지 못한 버그나, 의도와는 다른 동작 등에 의해
목적/구조 = 코드가 결국 바뀌기 마련

코드를 수정할 때 어차피 새로운 Unit Test를 작성해야 하고,
수정된 코드와 맞지 않는, 기존에 작성한 Unit Test를 보수하는 것은 분명한 생산성 저하
테스트가 코드의 발목을 잡는 경우도

때문에,
코드를 그냥 짜고,
실제로 버그가 일어나고 가정이 틀리는 시점에서 그에 대한 테스트 코드를 작성

그렇게 작성한 Unit Test 자체가 코드의 명세가 되기도 함

+ 어차피 제대로 된 테스트 계속해야 함

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.