@pytest.fixture
def make_user():
def _make_user(session, name: str = None, addr: str = None):
user = User(
name=name,
addr=addr
)
session.add()
session.commit()
return user
return _make_user
def test_is_user_created(flask_app, session, make_user):
user = make_user(session, name="velog", addr="velog.com")
assert user.name == "velog"
in fixture
make_user
가 _make_user
를 반환한다. _make_user
는 모델을 활용해 DB에 데이터를 시딩한다.
in test function
flask_app
, session
, make_user
fixture들을 인자로써 넣는다. 유저 모델을 만들기 위해 인수에 값을 채워준다. 여기서 사용되는 make_user
는 _make_user
를 반환해주므로 _make_user
가 필요로하는 인자들을 채워주면 된다.