32장. TDD 마스터 하기 단계가 얼마나 커야 하나? 각 테스트가 다뤼야 할 범위는 얼마나 넓은가? 리팩토링을 하면서 얼마나 많은 중간 단계를 거쳐야 하는가? 리펙토링 초기에는 작은 단위 부터 작업할 준비가 되어야 하며, 나중에는 단계를 뛰어 넘거나 툴을 사용해서 진행하라. 테스트할 필요가 없는 겂은 무엇인가? "두려움이 지루함으로 변할때까지 테스트를 만들어라" 아래 목록을 테스트 하도록 하자 조건문 반복문 연산자 다형성 좋은 테스트를 갖췄는지의 여부를 어떻게 알 수 있는가? 다음은 설계 문제가 있음을 알려주는 테스트의 속성이다. 긴 셋업 코드 : 하나의 단순한 단언을 수행하기 위해 수백 줄의 객체새성 코드가 필요하다면 뭔가 문제가 있는 거다. 객체가 너무 크다는 뜻이므로 나뉠 필요가 있다. 셋업 중복..
13장. 진짜로 만들기 카드 수수료(0.2) + 계좌 수수료(0.3) = 결제 금액 (복합결제가 가능 50대 50 으로만 결제 가능) 카드 수수료(0.2) + 카드 수수료(0.3) 모든 중복을 제거 하기 전까지는 카드 수수료(0.2) + 카드 수수료(0.3) 테스트를 완료 표시 할 수 없다. 코드는 중복코드는 없지만, 가짜 구현에 있는 아래 코드를 구현해 보자. public Payment reduce(Expression source, String to) { return Payment.card(0.25); } 우선, 두 Payment 의 합은, RepresentPayment(대표지불수단) 이어야 한다. @Test public void testAddReturnsRepresentPayment() { Payme..
오늘은 10,11,12 장 내용을 다루어 보자! 10장. 흥미로운 발급 책에서는 또 비유적으로 시간이라는 은유를 썻는데 나는 있는 그대로(?) 작성 하였다. 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 equals() hashCode() chageAmt private 하게 만들기 계좌 수수료 (30%) 카드, 계좌 중복 공용 equals 공용 newIssuance Card와 Account 비교 하기 newIssuance 신규 발급 추가 사용가능 국가 공용 newIssuance 로 중복 코드를 줄이자. Payment newIssuance(double chargeRate) { if (get..
7장. 사과와 오렌지 요구사항 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 equals() hashCode() chageAmt private 하게 만들기 계좌 수수료 (30%) 카드, 계좌 중복 공용 equals 공용 getChargeAmt Card와 Account 비교 하기 이장에서는 Card, Account 를 비교해 보도록 하자. 기존 테스트 코드에 Card 와 Account 를 비교하는 코드를 넣어보자 @Test void equalsTest() { assertTrue(new Card(0.2).equals(new Card(0.2))); assertFalse(new Card(0.2)..
임시 저장 했던게... 다 날아 갔다 ㅠ.ㅜ... 다시 요약 하면 4장 에서는 객체 변수에 직접 접근을 위해 변수를 private 하게 변경 하였고, 5장 에서는 Account(계좌)를 새롭게 만들었다, 현재 요구 사항은 아래와 같다. 요구사항 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 equals() hashCode() chageAmt private 하게 만들기 계좌 수수료 (30%) 카드, 계좌 중복 공용 equals 공용 getChargeAmt 6장 돌아온 '모두를 위한 평등' 5장에 계좌를 만들면서 카드를 복붙하였기 때문에 (빠른 테스트 성공을 보기 위함이다...!) 우리는 엄..
오늘 부터는, 테스트 주도 개발(켄트백)에서 예제로 쓰고 있는, Dallor 예시를 Paymt(결제)로 투영하여 테스트 코드 작성 훈련을 진행 하도록 하겠다. 1장. 결제의 종류 (카드) 요구사항 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 CardTest @Test void CardChargeTest() { Card card = new Card(0.2); card.getChargeAmt(1000); assertEquals(card.chargeAmt, 200); } 테스트 코드 부터 작성 하고... 초록 막대기가 보이게(테스트 성공) 하게 바꾸자. Card package com.exam..
- Total
- Today
- Yesterday
- GateWayApi
- SpringBoot
- AWS
- data crawling
- EC2
- nodejs
- 테스트
- MSA
- MQ
- 테스트주도개발
- fastapi
- 웹개발
- kafka
- 켄트 백
- 웹서비스
- Python #FastAPI
- 분산처리
- 퀜트백
- data mining
- 테스트 주도 개발
- TDD
- Python
- mongodb
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |