使用pytest测试DRF帖子

时间:2019-02-08 13:33:20

标签: api django-rest-framework pytest

我正在搜索一些示例以使用pytest测试我的drf api。我制作了一些夹具来创建用户并进行连接。有人有实施POST测试的指南/参考吗?它用于具有以下字段的产品:名称,描述,价格和类别。

我为status_code测试写了:

@pytest.fixture
def user():
    username = 'test'
    password = 'test'
    User.objects.user(username=username, password=password)


@pytest.fixture
@pytest.mark.django_db
def client(user):
    token = Token.objects.get(user__username='test')
    client = APIClient()
    client.credentials(HTTP_AUTHORIZATION='Token ' + token.key)
    return client


@pytest.mark.django_db
def test_status(client):
    resp = client.get('/myapi/api/product/')
    assert resp.status_code == 200

没关系。

为了测试产品创建,我尝试了以下方法:

@pytest.mark.django_db
def test_create(client):
    resp = client.post(
        '/myapi/api/product/',
            {
                'name': 'teste1',
                'description': "Teste1",
                'price': 3.50,
                'category': 1
            },
        format='json'
    )
    assert resp.status_code == 201

但是我收到400。

0 个答案:

没有答案