【发布时间】:2021-12-19 02:13:53
【问题描述】:
我想测试我的视图,但我的删除功能有问题。
class AnimalView(APIView):
def delete(self, request, format = None):
id = int(request.GET.get('id'))
try:
animal = Animal.objects.get(id=id)
except:
return Response(status=status.HTTP_404_NOT_FOUND)
animal.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
这是我的模型:
class Animal(models.Model):
name = models.CharField(unique=True, max_length=30, blank=False, null=False)
class Meta:
managed = True
db_table = 'animal'
ordering = ['name']
def __str__(self):
return str(self.name)
这是我正在尝试进行的测试:
class TestURL(TestCase):
def setUp(self):
self.client = Client()
def test_animal_delete(self):
animal = Animal.objects.create(name = 'TestAnimal')
response = self.client.delete(reverse("category_animal"), json.dumps({'id' : animal.id}))
self.assertEqual(status.HTTP_204_NO_CONTENT,response.status_code )
但我得到了一个
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
你能帮我做测试吗?
【问题讨论】:
标签: python django unit-testing automated-tests python-unittest