함수 호출부에서 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
끝 :)
'소프트웨어-이야기 > 테스트-자동화' 카테고리의 다른 글
(Gitlab CI) Gitlab에 테스트 CI 연동하기 - Django + Postgresql (8) | 2019.11.16 |
---|---|
(Pytest) Fixture 모아두기 - conftest.py (0) | 2019.03.09 |
(Travis CI) GitHub에 테스트 CI 연동하기 (0) | 2018.12.09 |
TDD Coding Dojo - 테스트코드 작성 연습 방법 (0) | 2018.11.24 |
유닛테스트를 작성하는 3가지 접근방법 - Test First VS Test Last VS Test Driven (0) | 2018.11.24 |