728x90

2021/11/19 2

테스트 더블

Effective Unit Test 에서 이 부분을 읽으면서 배운게 너무나도 많다. 그 내용을 한번 정리해보려고 한다. 테스트 더블이란? 테스트 더블이란 쉽게 예기하면 Stub 과 같이 특정 메소드가 완성되기 전에 대용해서 사용할수 있는 것을 뜻한다. 너무 추상적인거 같아서 쉽게 얘를 들면 Mocking 한 객체라고 생각해도 좋다. 순수히 그 메소드만 평가해야되는 단위 테스트에서는 이러한 테스트더블을 많이 사용하게 된다. 예를 들면 저번에 말했던 우리가 제어할 수 없는 대상을 테스트 더블로서 통제할 수 있는 것이다. 언제나 그렇듯, 코드로 보는것이 제일 나으니 코드로 한번 살펴보자. 예를 들어, 이런 Car class 가 있다고 해보자. 우리는 외부에서 Car 의 start 메소드 가 호출될때 Engin..

Test 2021.11.19

어떤 것이 좋은 테스트 코드인가?

프로그래밍을 계속 해오고 테스트코드를 작성하면서 내 일생을 관통할 주제 중 하나인 것 같다. 오늘은 그래서 Effective Unit Testing 을 읽으며 느낀 생각들을 정리해보려고 한다. 무엇이 좋은 테스트인가? 좋은 테스트 코드에는 아래와 같이 공통적인 다섯가지 요소들이 있다. 1. 테스트 코드의 가독성과 유지 보수성 우리가 현업에서 코드를 작성하다보면 흔히 불리우는 'Legacy' 로 구성된 시스템에 부딪힌다. 레거시 코드를 읽다보면 코드를 이해하는데만 오랜 시간을 쓰게 된다. 그래서 우리는 레거시 코드를 더 읽기 좋게 바꾸기 위해 리팩토링이란 것을 진행하고는 한다. 테스트 코드 또한 코드로 이루어져 있기에 가독성이 나쁘다면 'Legacy Code' 가 된다. Legacy Code 를 만나보지 ..

Test 2021.11.19
728x90