마커를 활용하면 특정 마커가 적용되어있는 케이스만 실행할 수 있다.
Markers 사용을 위해선 pytest.ini 파일 생성이 필요하다.
# pytest.ini
[pytest]
markers =
basiccases
regressioncases
$ pytest {모듈명} -m {실행할 마커}
import pytest
@pytest.mark.basiccases # 테스트 케이스에 마커 지정
def test_login():
print("로그인 테스트")
@pytest.mark.regressioncases # 테스트 케이스에 마커 지정
def test_search():
print("검색 테스트")
@pytest.mark.basiccases # 테스트 케이스에 마커 지정
def test_signin():
print("회원가입 테스트")
## =============================================================================
$ pytest {모듈명} -m {실행할 마커}
$ pytest test_markers.py -v -m basiccases
@pytest.mark.skip
get_data()
메서드에서 테스트 데이터를 3개 넘겨주고 있으며, 이를 파라미터로 넘겨주어 3회의 테스트 실행이 가능함ids=
는 테스트 케이스에 ID(이름)을 지정해주는 옵션.import pytest
def get_data():
return [
("abcd@gmail.com", "password", "google"),
("abcd@kakao.com", "password@@", "kakao"),
("abcd@myrealtrip.com", "password@#", "myrealtrip"),
]
@pytest.mark.parametrize("username, password, site", get_data(), ids=["google login", "kakao login", "myrealtrip login"])
def test_login(username, password, site):
print(
"사용자 이름 : " + username +
" 비밀 번호 : " + password +
" 사이트 : " + site)