3

我正在将 Django 应用程序的 UnitTests 迁移到 py.test,但在 UnitTests 中,他们使用 factory-boy 创建 django.contrib.auth.models.User 的实例。pytest-factory-boy 如何做到这一点?

4

1 回答 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 回答