테스트를 묶어 실행하기
TestNG는 검사 메서드와 준비 과정을 특성으로 표현하고 실행 대상을 그룹으로 선택할 수 있다. 하나의 메서드가 여러 그룹에 속할 수도 있다. XML 구성이나 빌드 도구 연동을 이용하면 목적에 맞는 검사 묶음을 실행할 수 있다. 선택에서 빠진 검사를 성공한 검사로 혼동하지 않는다.
데이터와 실행 관계
데이터 공급자를 사용하면 같은 검사에 여러 입력을 전달할 수 있다. 메서드나 그룹 사이의 의존 관계를 표현하는 기능도 제공한다. 의존은 필요한 시나리오를 구성하는 데 쓸 수 있지만 과도하면 개별 검사 재현과 실패 원인 파악이 어려워진다. 가능한 한 독립적인 검사를 유지한다.
병렬 실행의 전제
메서드나 클래스 등 실행 단위에 맞춰 병렬 정책을 선택할 수 있다. 공유 객체와 외부 데이터가 독립적이지 않으면 병렬화 후 결과가 불안정해질 수 있다. 현재 저장소 안내의 실행 요구사항은 자바 11 이상이며 소스 빌드 요구사항은 별도로 확인한다. 보고서와 리스너를 활용하더라도 실패와 건너뜀의 의미를 구분해 읽어야 한다.
관련 문서
JUnit / Mockito / AssertJ / Awaitility