testing - django rest框架测试代码self.client.delete问题
问题描述
from rest_framework import status, response
from rest_framework.test import APITestCase
from lots.models import Lot
class LotsTestCase(APITestCase):
def setUp(self) -> None:
self.lot = Lot.objects.create(name="1",
address="Dont Know",
phone_num="010-4451-2211",
latitude=127.12,
longitude=352.123,
basic_rate=20000,
additional_rate=2000,
partnership=False,
section_count=3,)
def test_delete(self):
response = self.client.delete(f'api/lots/{self.lot["name"]}')
# response = self.client.delete(f'/api/users/{self.users[0].pk}')
# url = reverse(f'/api/lots/{self.lot}', kwargs={'pk': self.lot.pk})
# self.client.delete(url)
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
self.assertEqual(self.lot.objects.filter(pk=self.lot.pk.count()))
我对上面的测试代码有问题。为什么它不起作用?我知道这与调用字典值有关,但我就是想不通。谢谢你的帮助。
解决方案
Lot.objects.create(...)
返回一个Lot
类型,以便您name
通过self.lot.name
.
推荐阅读
- python - Django 表单将方法返回为 GET 而不是 POST
- css - Angular - 更改 *ngFor 的所有元素的类,除了单击的那个
- c# - Win 32 API - 将窗口设置为最顶部且不可点击
- vb.net - VB.NET - WebClient - 如何让它更像一个真正的浏览器?
- json - monday.com webhook 集成 - 日期时间 json 字段中未显示时间
- python - TensorFlow 加载带有图像标签的图像数据集
- linkedin - 无法通过 API 发布到 LinkedIn 组
- encryption - 是否可以解密数据库发送给 LN 中用户的加密电子邮件?
- java - Spring data JPA - 使用@EntityGraph导致“指定的实体图不适用于实体”警告
- flutter - 颤振/飞镖和抗锯齿