【发布时间】:2021-03-11 08:40:43
【问题描述】:
为了简化手动测试,我想在显示登录页面时创建用户。
class LalaLoginView(LoginView):
def get(self, request, *args, **kwargs):
self.create_users()
return super().get(request, *args, **kwargs)
@classmethod
def create_users(cls):
if not settings.DEBUG:
return
admin = User.objects.update_or_create(username='admin', defaults=dict(
is_superuser=True, is_staff=True))[0]
admin.set_password('admin')
admin.save()
我的测试:
@pytest.mark.django_db
def test_create_users_prod(settings):
settings.DEBUG=False
LalaLoginView.create_users()
assert not User.objects.all().exists()
但是settings.DEBUG 的嘲笑是行不通的。在create_users() DEBUG 中为“真”。
如何使用 pytest-django 模拟 settings.DEBUG?
【问题讨论】:
标签: django pytest pytest-django