Burst: 더 나은 파라미터화된 테스트 프레임워크
Source
Evernote/Technote scraps/Better Parameterized Tests with Burst.md
Summary
Square 에서 개발한 Burst 는 JUnit 의 기존 Parameterized 러너의 한계(복잡한 선언, JUnit 3 비호환 등)를 해결하기 위한 테스트 프레임워크입니다. enum 을 테스트 생성자 또는 메서드 파라미터로 사용하여 타입 안전하고 간결하게 테스트 케이스의 조합을 자동 생성합니다. Android(JUnit 3) 환경에서도 BurstAndroid 러너를 통해 지원하며, 환경에 따른 테스트 필터링 기능도 제공합니다.
Key Points
- 기존 JUnit Parameterized 는 객체 배열 사용이 번거롭고 단일 메서드 파라미터화가 어려우며 JUnit 3(Android)와 호환되지 않음
- Burst 는 enum 파라미터를 통해 클래스 레벨 및 메서드 레벨에서 테스트 케이스 조합을 자동으로 생성
- enum 에 복잡한 데이터(예: 신용카드 정보)를 임베딩하여 유연한 테스트 파라미터 구성 가능
- Android(JUnit 3) 지원을 위한 BurstAndroid 러너 제공 (메서드 레벨 파라미터 미지원)
- isClassApplicable/isMethodApplicable 오버라이드를 통한 환경 기반 테스트 필터링 지원