pytest parametrize
test code 작성할 때 동일 테스트 메서드를 반복하면서 특정 값만 바꿔가며 테스트하고 싶을 때가 있다. 그럴 때 pytest의 parametrize
를 사용하면 반복을 줄일 수 있다.
@pytest.mark.parametrize("인자_이름_1, 인자_이름_2", [(인자_이름_1의_값, 인자_이름_2의_값)])
argnames : ,
로 구분된 문자열에서 하나 이상의 이름을 나타내거나 문자열로 구성된 tuple, list 사용
argnames : 반드시 튜플 리스트([(),(),()]
)여야 한다. 튜플 안에는 argnames에 적은 인자에 맞게 값을 넣어야 한다
@pytest.mark.parametrize("user_count", [(0),(1),(10)])
def test_when_create_users_then_success(
user_count,
test_session,
user_factory
):
users = user_model_factory.build_batch(size=user_count)
test_session.add_all(users)
test_session.commit()
users_result = Repo().get_users()
assert len(users_result) == user_count
Author And Source
이 문제에 관하여(pytest parametrize), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@samnaka/pytest-parametrize저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)