我正在搜索一些示例以使用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。