Unit Test2 [Project Coin] 단위 테스트(2) - 추상화를 적용한 함수 테스트, + 몽키 패치 Test를 위한 함수 추상화 log.Panic이라는 함수는 log 모듈에 의존적인 함수이다. 이를 직접적으로 테스트하기는 힘들다. 그렇기에 우리는 추상화라는 선택지를 고려할 수 있다. 기존 코드 func HandleErr(err error) { if err != nil { log.Panic(err) } } 변경 코드 var logFn = log.Panic func HandleErr(err error) { if err != nil { logFn(err) } } 우리가 궁금한 것은 err!=nil 일 때 logFn이 작동하는가 이다. 그렇기에 log.Panic 함수를 logFn 이라는 변수에 담아 추상화 과정을 거쳐 이 logFn이 잘 작동하는가를 검사한다. TestCode func TestHandleErr.. 2022. 8. 12. [Project Coin] 단위 테스트(1) _ Unit Test란? & Table Test 시작 나는 Unit Test를 내 프로젝트에 적용해본 경험은 없다. 하지만 인턴을 경험하며 이에 대한 필요성을 절실히 느낀 경험이 있다. 코드에 조금만 손을 데도 새로 배포하고 웹을 통해 데이터가 원하는 형태로 출력되는지 확인하고.. 아니면 다시 반복..... 만약 내가 Unit Test를 작성하기 위한 준비가 돼 있는 상태였다면 프로젝트의 완성도는 훨씬 높아졌을 것이라 확신한다. 앞으로 이런 아쉬움을 남기지 않기 위해 Unit Test에 대해 공부하고 전략들을 잊지않게 추가해 나가려 한다. Unit Test란? 유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차다. 즉, 모든 함수와 메소드에 대한 테스트 케이스(Test case).. 2022. 8. 10. 이전 1 다음