gpt4 book ai didi

python - 如何使用 REST 在 Django 的完整系统测试中测试保存后、保存前

转载 作者:行者123 更新时间:2023-11-28 21:04:51 24 4
gpt4 key购买 nike

我将 Django REST 中的应用程序作为后端,将 Angular 作为前端

假设这是我的代码

class ModelClass (models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()

def save(self, *args, **kwargs):
#check if the row with this hash already exists.
if not self.pk:
self.hash = self.create_hash()
self.my_stuff = 'something I want to save in that field'
# call to some async task
super(ModelClass, self).save(*args, **kwargs)

在我的 REST 中我有这个 View

class ModelListCreateView(generics.ListCreateAPIView):
model = ModelClass
serializer_class = ModelClassSerializer

def pre_save(self, obj):
obj.created_by = obj.updated_by = self.request.user.staff

def post_save(self, obj, created=False):
# add some other child objects of other model

我不想做单元测试。我想进行系统测试,这样我就需要知道我是否向该 View 发布了一些内容

  1. 预存应该可以工作
  2. 创建记录
  3. Model 的保存方法被调用了他的东西
  4. 调用 REST 中的保存方法后

然后我可以断言所有这些东西。

我可以测试所有这些吗?我想知道哪些东西我需要进行那种测试而不是小型单元测试

我很困惑是否需要使用 Django 测试REST 测试selenium 测试PyTEstfactory boy 因为我想知道事情是否真的进入了数据库

最佳答案

您正在寻找的是某种 REST 客户端代码,然后可以运行您的测试,并且您可以验证调用是否成功。 Django Rest Framework 有 APIRestFactory 辅助类,可以帮助您编写此类测试。可以找到文档 here并具体查看示例部分。这将是您的 Django 测试的一部分

关于python - 如何使用 REST 在 Django 的完整系统测试中测试保存后、保存前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27287040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com