9장. 단위 테스트

ssu_hyun·2023년 9월 20일
0

Clean Code

목록 보기
10/12
  • TEMPLATE METHOD 패턴 -> 중복 코드 제거 가능
    • 부모 : given/when 부분 코드
    • 자식 : then 부분 코드
    public void testGetPageHierarchyAsXml() throws Exception{
    	givenPages("PageOne", "PageOne.ChildOne", "PageTwo");
      
      	whenRequestIsIssued("root", "type:pages");
      
      	thenResponseShouldbeXML();
    }
  • 테스트 함수 하나는 개념 하나만 테스트할 것
  • F.I.R.S.T
    • Fast : 테스트는 빨라야 한다.
    • Independent : 각 테스트는 서로 의존하면 안 된다.
    • Repeatable : 테스트는 어떤 환경에서도 반복 및 실행이 가능해야한다.
    • Self-Validating : 테스트는 bool값(성공 or 실패)으로 결과를 내야 한다.
    • Timely : 단위 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현한다.
  • 테스트 코드는 실제 코드의 유연성, 유지보수성, 재사용성을 보존하고 강화한다.
  • 테스트 코드는 지속적으로 깨끗하게 관리하며 표현력을 높여 간결하게 정리해야만 한다. 특히 테스트 API를 구현해 도메인 특화 언어를 만들면 테스트 코드를 짜기가 쉬워진다.

0개의 댓글