테스트코드(Test Code)/단위테스트 - 생산성과품질을위한 단위테스트원칙과패턴
-
3장 - 단위 테스트 구조테스트코드(Test Code)/단위테스트 - 생산성과품질을위한 단위테스트원칙과패턴 2023. 6. 22. 00:01
3장에서 다루는 내용 단위 테스트 구조 좋은 단위 테스트 명명법 매개변수화된 테스트 작성 AAA 패턴 AAA 패턴은 준비, 실행, 검증 부분으로 나누어 테스트를 작성합니다. 흔히 알고 있는 given, when, then 패턴과 굉장히 유사합니다. 여러 개의 준비, 실행, 구절 피하기 때로는 준비 -> 실행 -> 검증 -> 좀 더 실행 -> 다시 검증과 같은 테스트를 만날 수 있습니다. 실제로 종종 이런 테스트구조를 만들곤 했으며 여러 테스트는 오히려 soft copy처럼 보이고 귀찮으니.. 하지만 이렇게 되면 더 이상 단위 테스트가 아닌 통합 테스트입니다. 일련의 실행과 검증이 포함된 테스트를 보면 각 동작은 고유한 테스트로 분리하는 것이 좋습니다. 테스트 내 if문 피하기 if문이 발생하는것 자체가 ..
-
2장 - 단위 테스트란 무엇인가?테스트코드(Test Code)/단위테스트 - 생산성과품질을위한 단위테스트원칙과패턴 2023. 6. 14. 00:01
2장에서 다루는 내용 단위 테스트란? 공유 의존성, 비공개 의존성, 휘발성 의존성 간의 차이점 단위 테스트의 두 분파: 고전파와 런던파 단위 테스트, 통합 테스트, 엔드 투 엔드 테스트의 차이점 단위 테스트의 정의 작은 코드 조각을 검증하고, 빠르게 수행하고, 격리되고 자동화된 테스트 이때 격리 문제는 단위 테스트의 고전파와 런던파를 나누는 차이입니다. 격리는 테스트를 위해 하나의 클래스가 다른 클래스와 협력해야 하는 경우 이를 Mock으로 대체할지 실제 객체를 활용할지에 대한 이야기입니다. 런던파에서는 하나의 클래스가 다른 클래스 또는 여러 클래스에 의존하면 이 모든 의존성을 테스트 대역으로 대체해야 합니다. 즉, 외부 영향과 분리하여 테스트 대상 클래스에만 집중할 수 있어야 합니다. 이 방법은 장점으..
-
1장 - 단위 테스트의 목표테스트코드(Test Code)/단위테스트 - 생산성과품질을위한 단위테스트원칙과패턴 2023. 6. 10. 00:01
테스트를 작성하는 노력은 줄이고, 그에 따르는 이득은 극대화해야 한다. 단위 테스트의 현황 대부분의 프로그래머는 단위 테스트를 실천하고 중요성을 알고 있다. 그냥 쓰고 버리는 프로젝트가 아니면, 단위 테스트는 늘 적용해야 한다. 요새의 논쟁은 바뀌고 있다, 단위 테스트를 작성해야 하는가? -> 좋은 단위 테스트를 작성하는 것은 어떤 의미인가? 좋은 테스트와 좋지 않은 테스트의 차이는 취향이나 개인적인 선호도의 문제가 아닌 프로젝트의 성패를 가르는 문제다. 이 책은 테스트 작성 노력 대비 최대의 이익을 이끌어 내는 방법으로 안내한다. 단위 테스트의 목표 흔히 단위 테스트 활동이 더 나은 설계로 이어진다고 한다. 하지만 이는 단위 테스트의 주목표는 아니다. 단위 테스트의 목표는 소프트웨어 프로젝트의 성장을 ..