TDD(3)
-
회사 테스트 코드 도입기
회사에 테스트 코드가 있지만, 프로젝트를 진행하면서 작성하지 않고 있어 새로운 프로젝트를 들어가며 이번엔 테스트 코드를 작성하기로 팀원과 결정했습니다. 도입에 앞서 고민했던 점들과 어떻게 도입했는지를 한번 정리해봤습니다. 테스트 코드를 적용해야 하는 이유 코드에 신뢰성이 생긴다. 리팩토링이 쉬워진다. 테스트 코드를 적용하기 위한 준비 테스트 단위 테스트를 어떤 범위까지 진행할지 선택. 예를 들어 단위 테스트, 통합 테스트, end-to-end(e2e) 테스트 테스트 방법론 의존성이 걸린 클래스일 때 mock을 적극적으로 사용할지, 실제 인스턴스를 활용할지 선택한 방법 mock은 비즈니스 로직 검증이 어려워, 회귀 방지가 낮다고 생각했습니다. 따라서 mock보다 실질적인 인스턴스 테스트를 진행하기로 했습니..
2023.04.27 -
(4) 1부 화폐예제 - 7,8장 객체 만들기
Github 코드보기 7장 사과와 오렌지(같지 않은 둘) 동치성 테스트는 클래스 객체 비교를 통해 같지 않은 지까지 확인해야 합니다. - getclass() 를 사용했습니다. 1 2 3 4 5 public boolean equals(Object object) { Money money = (Money) object; return amount == money.amount && getClass().equals(money.getClass()); } Colored by Color Scripter cs equals() 동치성 비교가 객체 인스턴스 파라미터에 다른 값을 넣어도 같다고 떴습니다. - Dollar, Franc 클래스 필드를 없애고 Money것을 사용하게 했습니다. - Dollar, Franc 클래스 생성..
2021.03.30 -
[예약사이트] 1. TDD와 REST API
Spring 강의를 다 마쳤기 때문에 혼자 프로젝트를 만들어보려던 찰나에 예전에 구매해둔 웹 개발 마스터 패키지 온라인 강의가 생각났습니다. Spring Boot 레스토랑 예약사이트를 구현하는 프로젝트였고 이해도가 낮아 접었던 강좌였습니다. 아직 무엇을 어떻게 만들어야겠다는 생각까지 없어서 Spring 복습 겸 강좌의 프로젝트를 완성시켜 보기로 마음 먹었습니다. 이번 글에선 TDD(Test Driven Development)의 필요성과 간단한 사용법을 설명하고, REST API를 사용해 가게 목록을 Front-end에서 받아 JSON으로 전달해주는 기능을 구현하는 실습을 진행해보겠습니다. 1) TDD 테스트 주도 개발은 결과물이 나오기 전 코드를 구현하는 단계에서부터 Test를 실시하는 개발방법입니다. ..
2020.10.19