그동안 대부분 구글(?)로 공부했었지만, 더욱 멋진 개발자가 되기위해 요즘 책을 읽고있습니다👏🏻 이번 장에서는 이전 내용과 겹쳐지는 부분이 많아서, 간단하게 책 내용을 정리해보려고 해요! 📚 책 정보 📖 Test-Driven Development: By Example (테스트 주도 개발) ✍🏻 Kent Beck 지음 / 김창준, 강규영 옮김 🏢 인사이트 (insight)타락한 객체 단계별 목표 🔴 RED 마음 속에 있는 오퍼레이션 코드를 그대로 적는다. 테스트를 진행하기위한 머리속의 생각을 아무생각없이(?) 코드로 옮긴다. 테스트의 방향을 설정하는 단계! 🟢 GREEN 기존 코드를 되도록 빠르게, 실행 가능하게 만든다. 테스트를 성공시키기위한 머리속의 로직을 아무생각없이(?) 적용시킨다. 테스트의 성공만..
그동안 대부분 구글(?)로 공부했었지만, 더욱 멋진 개발자가 되기위해 요즘 책을 읽고있습니다👏🏻 책 내용 전부를 정리하는 것이 아닌, TDD 예시에 대해서만 집중적으로 연습해보려고 해요! 📚 책 정보 📖 Test-Driven Development: By Example (테스트 주도 개발) ✍🏻 Kent Beck 지음 / 김창준, 강규영 옮김 🏢 인사이트 (insight)다중 통화를 지원하는 Money 객체 요구 사항 어떤 금액을 어떤 수에 곱한 금액을 결과로 얻을 수 있어야 한다 🔴 RED func test_어떤_금액을_어떤_수에_곱한_금액을_결과로_얻을_수_있어야_한다() { // 선언 및 초기화 let fiveDoller = Doller(amount: 5) // 곱셈 fiveDoller.multipl..
오늘은..! 많이들 시도하고 싶지만, 시도하기 어려워하는 하지만 매우매우 좋은!! TDD(Test-driven development)에 대해 정리해보려고 합니다! 🧪 테스트 주도 개발(Unit Test First) Test-driven development 즉, 테스트가 개발을 주도해간다! 말 뜻 그대로, 매우 짧은 테스트 개발 사이클을 반복하는 소프트웨어 개발 프로세스를 의미합니다! ☝🏻 테스트 진행 과정 이 방법을 고안해낸 Kent Baeck은 TDD가 단순한 설계를 장려하고, 자신감을 불어넣어준다고 말했습니다. 동작하는 깨끗한 코드를 만들 수 있기 때문이라지요! 진행 싸이클 실패하는 경우의 테스트를 작성합니다. 단순히, 테스트가 통과할 수 있도록 만듭니다. 순수하게 코드를 정갈하게 변경합니다. 테스..