coin 프로젝트1 [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. 이전 1 다음