본문 바로가기

소프트웨어-이야기/테스트-자동화

(Pytest) Fixture에 매개변수 넘겨주기

함수 호출부에서 Fixture의 일부 데이터를 변경하고 싶다면, 아래와 같이 Fixture에 매개변수를 넘겨주면 된다.

@pytest.fixture()
def facebook_user_data():
def _data(user_id, email):
return {
"hometown": "Your, Hometown",
"birthday": "01/01/1985",
"email": email,
"id": id
}
return _data


호출 방식은 다음과 같다.

class TestUserInfo:
def test_get_data__회원기본정보와_페이스북정보를_반환한다(self, mocker, facebook_user_data):
user = UserFactory.create()
facebook_user_data = facebook_user_data(user.user_id, user.email)
mocker.patch.object(FaceBook, 'get_user_data', return_value=facebook_user_data)
user_info = UserInfo.get_data(user.email)
assert user_info is not None


끝 :) 


Adding Function Arguments to pytest Fixtures