seedyoon / tdd-using-dotnet-core

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

다시 기억하기

목표

  • 테스트 주도 개발 책을 활용하여 TDD를 학습한다.
  • TDD의 맛을 다시 기억하기

반복

  • 책에서 나왔던 예제

다름

  • Java => .NetCore 환경
  • XUnit 환경

진행

타락한 객체

  • 설계상의 결함을 그 결함으로 인해 실패하는 테스트로 변환했다.
  • 스텁 구현으로 빠르게 컴파일을 통과하도록 만들었다
  • 올바르다고 생각하는 코드를 입력하여 테스트를 통과 했다.

모두를 위한 평등

  • 우리는 디자인 패턴이 하나의 또다른 오퍼레이션을 암시한다는 걸 알아챘다.
  • 해당 오퍼레이션을 테스트 했다.
  • 해당 오퍼레이션을 간단히 구현했다.

프라이버시

  • 오직 테스트를 향상시키기 위해서만 개발된 기능을 사용했다.
  • 두 테스트가 동시에 실패하면 망한다는 점을 인식했다.
  • 위험 요소가 있음에도 계속 진행했다.
  • 테스트와 코드 사이의 결합도를 낮추기 위해, 테스트하는 객체의 새 기능을 사용했다.

솔직히 말하자면

  • 큰 테스틀 공략할 수 없다. 그래서 전진을 나타낼 수 있는 자그마한 테스트를 만들었다.
  • 뻔뻔스럽게도 중복을 만들고 조금 고쳐서 테스트를 작성했다.
  • 설상가상으로 모델 코드까지 도매급으로 복사하고 수정해서 테스트를 통과했다.
  • 중복이 사라지기 전에는 집에 가지 않겠다고 약속했다.
오늘 작업에 대한 정리.


테스틀를 통과 시키기 위해 무조건 성공을 하는 함수를 구현, 테스트를 통과하도록 구현
올바른 코드를 구현 후 다시 테스트

다른 조건(작업목록) 추가 후, 구현 및 테스트

테스트 만을 위한 기능 개발 후 사용
또 다른 위험 요소를 발견하였지만 계속 진행
결합도를 낮추기 위한 객체의 새 기능 추가.

큰 테스트 공략을 위한(큰 작업 목록) 작은 테스트 생성
테스트 통과를 위한 중복기능 테스트
새로운 마음 가짐!!

About


Languages

Language:C# 100.0%