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 に答える