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
내용 곧 추가하겠습니다.
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)')
그 외 명령어 옵션은 아래 참조 문서를 참고해주세요!