[파이썬] pytest 실시간 테스트 리포트 생성하기

소개

pytest는 파이썬 프로젝트에서 사용되는 인기있는 테스트 프레임워크입니다. 이 프레임워크를 사용하면 간편하게 테스트를 작성하고 실행할 수 있습니다. 그러나 pytest에서 제공하는 테스트 결과 리포트는 기본적으로 정적인 형태로 제공되는데, 실시간으로 테스트 결과를 확인하고 모니터링하려는 경우에는 부적합한 경우도 있습니다. 이번 블로그 포스트에서는 pytest를 사용하여 실시간으로 테스트 결과를 생성하는 방법에 대해 알아보겠습니다.

nodejs의 reporter.js 사용하기

pkgu/pytest-nodejs-reporter는 pytest와 nodejs를 연동하여 실시간 테스트 리포트 생성을 가능하게 해주는 플러그인입니다. 이 플러그인을 사용하면 pytest가 실행되는 동안 테스트 결과를 실시간으로 보여줄 수 있습니다. 아래는 사용 예시입니다.

  1. 먼저, pytest-nodejs-reporter를 설치해야 합니다.
    pip install pytest-nodejs-reporter
    
  2. pytest.ini 파일을 프로젝트 루트 디렉토리에 생성하고 아래와 같이 설정합니다.
    [pytest]
    addopts = --nodejs-reporter=path/to/reporter.js
    
  3. 리포트 생성을 위해 reporter.js 파일을 만듭니다. 이 파일은 nodejs 스크립트로, 실시간으로 테스트 결과를 보여주는 역할을 합니다. 아래는 예시입니다. ```javascript const WebSocket = require(‘ws’);

const wss = new WebSocket.Server({ port: 8080 });

wss.on(‘connection’, function connection(ws) { ws.on(‘message’, function incoming(data) { console.log(‘received: %s’, data); }); });


4. 터미널에서 아래와 같이 pytest를 실행합니다.
```shell
pytest
  1. 웹 브라우저에서 localhost:8080으로 접속하여 실시간 테스트 리포트를 확인합니다.

마무리

이번 포스트에서는 pytest와 함께 실시간으로 테스트 리포트를 생성하는 방법에 대해 알아보았습니다. pytest와 nodejs를 연동하는 방법을 사용하면 테스트 실행 중에 실시간으로 테스트 결과를 확인할 수 있으므로, 편리한 테스트 개발과 모니터링이 가능해집니다. 만약 pytest를 사용하고 있다면, 이러한 방법을 적용해보고 테스트 개발의 효율성을 높여보세요.