본문 바로가기

✅ 테스트9

private 메서드도 테스트를 해야 할까? (private 메서드 테스트 하고 싶을 때...) ✅ 👃 해당 글은 페이스북 그룹 javawocky 박성철 님의 글을 시작으로 하단 Reference을 참고하여 요약했습니다. 자세한 내용은 링크를 참고해주세요 public 메서드의 테스트를 작성하다 보면 private 메서드도 테스트하고 싶은 마음이 들 때가 있다. public 메서드 테스트가 충분하지 않아 보인다. 테스트가 적거나 불안해 보인다. 하지만 보통 public 메서드를 테스트한다면 연결(종속)된 private 메서드도 이미 테스트했다고 생각한다. 그렇다면 public 메서드만 테스트하면 될까? private 메서드도 테스트를 해야 할까? 정답은 없다. 현재 프로그래밍하는 시점의 context을 고려하자. 그렇다. 정답은 없다. 그래도 3가지 상황을 통해 private 메서드의 테스트 여부를 알아보자.. 2022. 2. 16.
Design by Contract(계약에 의한 설계)와 테스트 코드 그리고 예제📝 * 이 글은 책 소프트웨어의 품격 5장과 하단 reference를 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 Design by Contract(계약에 의한 설계, DbC)란 무엇인가? 사전 조건, 사후 조건, 페널티, 불변 조건 세 가지 계약 검사 계약 검사 예제(BoundedSet) DbC와 Test Code Design by Contract(계약에 의한 설계)란 무엇인가? Design by Contract(이하 DbC) 개념은 1980년대 버트란드 마이어가 처음 제시했다. 아이디어는 일상에서의 계약 개념과 동일하다. 예를 들어 통신사-고객 사이의 통신 계약을 맺었다. 통신사는 고객에게 정상적인 시스템을 제공해야 하고 고객은 요금을 내는 의무를 가진다. 이를 소프트웨어 시스템 중 메서.. 2022. 2. 7.
단위 테스트 구조 (AAA 패턴, 테스트 픽스터, 명명법) 이 글은 책 Unit Testing(단위 테스트) 3장과 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 단위 테스트 구조 테스트 픽스처 재사용 테스트 명명법 Parameterized Test (매개변수화 테스트) Assert Library (AssertJ) 1. 단위 테스트 구성 방법 단위 테스트 코드에 대한 구성 (준비, 실행, 검증) 패턴을 공부하고 피해야 할 함정, 읽기 쉬운 방법을 알아본다 1.1 AAA 패턴 사용 아래는 Calculator 클래스의 sum 함수를 테스트하는 코드 예이다. public class Calculator { public double sum(double first, double second) { return first + second;.. 2022. 1. 4.
단위 테스트의 목표와 책 단위 테스트 소개 이 글은 책 Unit Testing(단위 테스트) 1장을 요약했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 단위 테스트의 상태 단위 테스트의 목표 좋지 않은 테스트 스위트(suite)의 결과 테스트 스위트 커버리지 지표 성공적인 테스트 스위트의 속성 단위 테스트는 단순히 테스트를 작성하는 것보다 더 큰 범주다. 테스트에 드는 노력을 가능한 한 줄이고, 그에 따르는 이득을 최대화해야 한다. 어떤 단위 테스트 기술이 좋은지 구별하고, 테스트에 대한 비용 편익 분석(cost-benefit analysis) 방법을 배우고 특정 상황에 적절한 테스트 기술 적용과 공통적인 안티 패턴(처음에는 괜찮은 것 같지만 미래에 문제를 야기하는 패턴)을 배운다. 1. 단위 테스트 현황 이제 대부분의 회사에서 테스트는.. 2022. 1. 4.