[xUnit 테스트 패턴] 07장 - xUnit 기초
07장 - xUnit 기초
공통 특징
- 테스트를 테스트 메소드로 명시
- 단언 메소드(Assertion Method) 호출로 테스트 메소드 내에서 기대 값을 명시
- 테스트들을 테스트 스위트에 모아두기 - 한번에 실행 가능
- 하나 이상의 테스트를 돌린 후 테스트 결과 보고 받기
최소한 알아야 할 것
테스트 정의하기
- 테스트 픽스처 설치
- SUT 실행
- SUT의 public, private 인터페이스의 메소드
- 원하는 결과 값이 나왔는지 검증
- 테스트 픽스처 해체
- 가비지 컬렉션 해체, 인라인 해체, 암묵적 해체, 자동 해체
픽스처란
- SUT를 실행하기 위해 준비해야 하는 모든 것
- 테스트하려는 메소드가 있는 클래스 객체
- SUT가 의존하는 다른 객체
테스트들의 스위트 정의
- 테스트케이스 클래스의 모든 테스트 메소드를 담고 있는 것
- 클래스용 단위 테스트 스위트 -> 패키지, 모듈, 전체 시스템용 테스트 스위트에 포함 가능
- 계층 구조를 만들면 테스트 스위트들을 다양한 수준에서 완결성 있게 실행 가능
- 개발자가 관심 있는 부분에 관련된 테스트만 실행 가능
테스트 실행
- 테스트 실행기(Test Runner)를 통해 실행
- 그래픽 테스트 실행기, 커맨드라인 테스트 실행기 등등
테스트 결과
- 의미 있는 결과
- 헐리우드 원칙
- “전화 걸지 마세요. 우리가 걸테니”
- 문제가 발생할 때에만 알려줌
- 성공
- 실패