🧑✈️
djangoのdbにアクセスするような変数をpytest.mark.parametrizeでパラメータ化することはできない
これはng
@pytest.mark.django_db
class TestUserViewSet:
@pytest.mark.parametrize(
"user",
[
UserAFactory(),
UserBFactory(),
UserCFactory(),
UserDFactory(),
],
)
def test_user_can_do(self, user):
user.do()
代わりにこれはok
クラスを関数の内部で初期化する
@pytest.mark.django_db
class TestUserViewSet:
@pytest.mark.parametrize(
"user_factory_class",
[
UserAFactory,
UserBFactory,
UserCFactory,
UserDFactory,
],
)
def test_user_can_do(self, user_factory_class):
user = user_factory_class()
user.do()
Discussion