실행 순서의 변화
모듈과 클래스, 함수 순서를 단계별로 섞는다. 특정 시험이 이전 시험이 만든 상태에 의존한다면 순서를 바꿨을 때 실패가 드러날 수 있다. 순서를 섞는 작업은 의존성을 찾아내기 위한 것이며 상태를 자동으로 정리해 주는 기능은 아니다.
난수의 재현
실행에 사용할 기본 시드를 출력하고 같은 시드를 다시 지정할 수 있다. 각 시험의 준비와 실행, 정리 단계에 사용할 난수 상태는 기본 시드와 시험 식별자 등을 바탕으로 정해진다. 실패를 조사할 때는 시드와 함께 당시 코드 및 시험 구성을 유지한다.
연동 범위
Faker와 Factory Boy 등 일부 라이브러리의 난수 상태도 제어하며 추가 생성기를 등록할 수 있다. 모든 독립 난수 생성기가 자동으로 포함되는 것은 아니다. 시험 순서 섞기와 시드 재설정은 각각 끌 수 있어 원인을 나누어 조사할 수 있다.
관련 문서
Faker Python 라이브러리 / Factory Boy / Polyfactory / Pytest-xdist