我正在将 Django 应用程序的 UnitTests 迁移到 py.test,但在 UnitTests 中,他们使用 factory-boy 创建 django.contrib.auth.models.User 的实例。pytest-factory-boy 如何做到这一点?
问问题
1060 次
1 回答
1
在 py.test 中创建用户,而不需要工厂非常简单。py.test 已经有一个包含内置 Django admin_user 和 admin_client 固定装置的帮助程序,如此处所述。
这里有一些代码,用于在您的 conftest.py 中创建普通用户:
import pytest
from django.contrib.auth.models import User
@pytest.fixture
def user_client(client):
"""
User fixture for tests with unprivileged user
"""
user = User.objects.create_user(
username='user',
password='pass',
first_name='Normal',
last_name='User'
)
response = client.post(reverse('login'), data={'username': 'user', 'password': 'pass'})
assert response.status_code == 302
return user_client
于 2015-11-27T21:50:23.913 回答