위키득계정 ↗
기술

Pytest-forked

Pytest-forked기술
분류
프로세스 분리 시험 플러그인
적용 환경
fork를 지원하는 운영체제
전체 적용
forked 명령줄 옵션
개별 적용
forked 표시
Pytest-forked는 pytest 시험을 fork로 만든 하위 프로세스에서 실행하는 플러그인이다. 시험이 프로세스를 비정상 종료시키는 경우 전체 시험 실행과 분리해 결과를 확인하는 데 활용한다.

프로세스를 나누는 목적

C나 C++ 라이브러리와 연결한 시험에서는 일반 예외가 아니라 프로세스 자체가 종료되는 오류가 발생할 수 있다. 각 시험을 하위 프로세스에 두면 해당 종료를 보고하면서 상위 실행을 유지하는 데 도움이 된다. 원래의 결함을 수정하는 기능은 아니다.

개별 시험과 병렬 실행

전체 시험 또는 표시한 시험만 분리할 수 있다. pytest-xdist와 함께 사용하면 여러 작업자가 각 시험에 별도 하위 프로세스를 만드는 구성이 가능하다. 작업자 수와 시험별 분리는 다른 설정이므로 실행 자원과 비용도 함께 고려한다.

지원과 유지보수

fork가 없는 Windows에서는 동작하지 않는다. 공식 저장소는 새 유지보수자를 찾기 전까지 최소 수준을 넘는 유지보수 계획이 없다고 안내한다. 도입할 때는 운영체제와 pytest 버전의 호환성을 확인하고 필요한 격리 범위를 먼저 정한다.

관련 문서

Pyfakefs / Pytest-xdist / Pytest-timeout / Pytest-rerunfailures