본문 바로가기

etc/TDD4

켄트백의 TDD 3회차 스터디 18장-24장(~200p) 06.27.2023 1. 전체 코드 공유 (The final code) class TestCase: def __init__(self, name): self.name = name def run(self, result): result.testStarted() self.setUp() try: method = getattr(self, self.name) method() except: result.testFailed() self.tearDown() def setUp(self): pass def tearDown(self): pass class WasRun(TestCase): def __init__(self, name): self.wasRun = None TestCase.__init__(self, name) def .. 2023. 6. 27.
켄트백의 TDD 3회차 스터디 11장-17장(~157p) 06.18.2023 1. 메타포(Metaphor) 이 책에서 메타포라는 용어가 등장했는데 구글링을 했을 때 한 블로그에 의한 정의는 본래 표현되어야 할 내용을 간접적으로 명시하는 것 이었다. 그러나 이 정의는 '은유'에 관한 정의에 가까운 것 같고 개인적으로 여기서 쓰인 메타포의 의미는 네이밍에 관한 얘기인 것 같다. 클래스 또는 인터페이스의 네이밍이 설계에도 영향을 미친다는 것을 말하고 싶었던 것 같다. 클래스의 네임이 명확하면 코드도 명확해지고 클래스가 하는 일도 명확하게 구현할 수 있다. (이 모든건 저의 개인적인 생각입니다.) 2. TDD의 주기 이 책은 17장 회고에서 TTD의 주기를 리마인드 해준다. 작은 테스트 추가 모든 테스트를 실행하고 실패를 확인 코드에 변화를 준다 모든 테스트를 실행하.. 2023. 6. 18.
켄트백의 TDD 2회차 스터디 6장-10장(~107p) 2023.06.07 1. 팩토리 메서드 생성패턴의 한 종류이다. 특징은 다음과 같다 1. 확장시 코드 수정 없이 객체(프로덕트)를 추가할 수 있음 객체 생성시 서브클래스가 어느 클래스의 인스턴스를 만들지 결정 인스턴스 생성을 서브클래스에 위임 전에 진행한 디자인패턴 스터디를 나중에 이 블로그에 정리할 예정이므로, 좋은 예제코드가 있는 블로그 하나만 첨부하겠음 https://bcp0109.tistory.com/367 2. 자바스크립트로 쓰는 테스트코드 2-1. 초기 코드 class Dollar { #amount; equals(object) { const dollar = new Dollar(object); return amount == dollar.amount; } } class Franc { #amount.. 2023. 6. 8.
켄트벡의 TDD 1회차 스터디(~75p) 2023.05.28 1. 이 책이 다루는 테스트 레벨은 어디까지인가? 따지자면 유닛테스트만 다루고 통합테스트는 다루지 않는다. 정확히 말하자면 테스트를 통해 애자일 프로세스를 구현하기 위한 방법론에 관한 책 이라고 할 수 있겠다. 2. 모의객체(Mock Object)를 쓰기vs안쓰기 모의객체란? TDD로 테스트를 진행하기 어려운 경우(네트워크, 데이터베이스 등..)에는 모의객체를 통해 테스트를 진행한다. 이 모의객체가 위험할 수 있고 이 저자가 선호하지 않는 이유는 의존성 때문이다. 모의객체를 사용하면 객체간의 의존성이 높아지고, 이는 적신호이기 때문에 특히 통합 테스트를 할 때는 목객체는 거의 쓰지 않는다. 3. 동등성과 동일성 3-1. 동등성(Equality) 동등성은 하나의 객체가 가지고 있는 값이.. 2023. 5. 29.