파이썬 테스트 프레임워크 '파이테스트', 플러그인 1300종 갖추고 깃허브 트렌딩
파이썬 테스트 프레임워크 파이테스트(pytest)가 깃허브 트렌딩에 올랐다. 파이테스트는 작은 테스트를 쉽게 작성하면서도 애플리케이션과 라이브러리를 위한 복잡한 기능 테스트까지 확장할 수 있는 것을 목표로 한다.
가장 큰 특징은 평이한 assert 문을 그대로 쓸 수 있다는 점이다. 파이테스트의 상세한 어서션 인트로스펙션 덕분에 self.assert* 류의 메서드 이름을 따로 외울 필요 없이 그냥 assert로 검증을 작성할 수 있다.
예를 들어 inc(x)가 x+1을 반환할 때 assert inc(3) == 5라고 쓰면, 테스트가 실패하면서 'assert 4 == 5'와 함께 4가 inc(3)의 결과임을 짚어주는 식으로 실패 원인을 자세히 보여준다. 테스트는 터미널에서 pytest 명령 한 번으로 실행된다.
주요 기능으로는 실패한 assert 문에 대한 상세 정보 제공과 테스트 모듈·함수의 자동 발견(auto-discovery)이 있다. 또한 작거나 파라미터화된, 오래 유지되는 테스트 자원을 관리하기 위한 모듈식 픽스처(fixture)를 제공한다.
기존 자산과의 호환성도 갖췄다. 파이테스트는 표준 라이브러리의 unittest나 trial로 작성된 테스트 스위트를 별도 설정 없이 그대로 실행할 수 있다.
실행 환경은 파이썬 3.10 이상 또는 PyPy3를 요구한다. 1300개가 넘는 외부 플러그인을 갖춘 풍부한 플러그인 아키텍처와 활발한 커뮤니티가 강점으로 꼽힌다.
프로젝트는 깃허브 이슈 트래커로 버그와 기능 요청을 받고, 각 버전의 수정·개선 사항은 체인지로그 페이지에서 확인할 수 있다. 다만 보안 취약점으로 의심되는 문제는 이슈로 올리지 말고 별도의 보안 권고(security advisory)로 보고하도록 안내한다.
자금 조달은 오픈 콜렉티브(Open Collective)를 통해 이뤄진다. 투명하게 재정을 공개하는 이 플랫폼에서 개인과 기업이 일회성 또는 매월 후원을 할 수 있다. 또한 파이테스트는 타이드리프트(Tidelift) 구독의 일부로도 제공돼, 메인테이너들이 상용 지원과 유지보수를 제공한다.
파이테스트는 2004년부터 이어져 온 프로젝트로 저작권은 홀거 크레켈(Holger Krekel) 등에게 있으며, MIT 라이선스로 배포되는 자유·오픈소스 소프트웨어다.