pytest-testrail : 테스트 결과 TestRail로 전송

sangyeon217·2021년 11월 7일
0

Pytest

목록 보기
8/10
post-thumbnail

Pytest의 유용한 플러그인을 정리한 포스팅 입니다.
1. pytest-xdist : 테스트 병렬 수행
2. pytest-html : 테스트 결과 HTML 리포트로 출력
3. pytest-testrail : 테스트 결과 TestRail로 전송 (현재 글)
4. pytest-rerunfailures : 실패한 테스트 재수행

설치

$ pip install pytest-testrail

기본 설정

TestRail 기본 설정을 입력합니다.
여기서는 설정 파일을 testrail.cfg로 가정합니다.

[API]
url = TestRail URL 입력
email = 로그인 시 사용하는 이메일 주소 입력
password = 로그인 시 사용하는 비밀번호 또는 api key 입력

[TESTRUN]
project_id = Project ID 입력
suite_id = Test Suite ID 입력

테스트 코드 설정

테스트 코드에서는 @pytestrail.case() 데코레이터를 통해 해당 테스트 함수를 어떤 테스트케이스와 맵핑할 것인지 정의해줍니다.
아래는 test_bar 테스트 함수를 Test Case ID가 C1234인 테스트케이스와 맵핑한 경우 입니다.

from pytest_testrail.plugin import pytestrail

@pytestrail.case('C1234')
def test_bar():
    # test code goes here

Q: pytest.mark.parametrize 는 어떻게 맵핑하지?

내용 곧 추가하겠습니다.
pytest.param() 을 이용합니다.

기본 실행 명령어

$ pytest --testrail

참고로, 설정 파일이 testrail.cfg가 아닌 경우에는 --tr-config=<settings file>.cfg 옵션을 넣어주어야 하지만, 이 예시에서는 해당 명령어 옵션의 디폴트인 testrail.cfg로 설정되어 있어 별도로 옵션 추가하지 않았습니다.(from. pytest-testrail > conftest.py 코드)

group.addoption(
        '--tr-config',
        action='store',
        default='testrail.cfg', # 이 부분!
        help='Path to the config file containing information about the TestRail server (defaults to testrail.cfg)')

그 외 명령어 옵션은 아래 참조 문서를 참고해주세요!

Reference

https://pypi.org/project/pytest-testrail/

profile
I'm a constant learner. "Long Learn for Long Run!"

0개의 댓글