第一次在django中面临集成测试的任务。
在互联网上只有几篇关于这个主题的小文章。
示例:有三个不同的服务器相互通信。有什么工具可以用来为这样的系统编写测试?结果是,我需要同时运行两个服务器,在那里创建数据库,然后在它们之间发出工作(访问API)。
你能告诉我可以用什么工具来实现这样的测试吗?
还是我误解了“集成测试”的含义,因此我只需要为api编写测试?
发布于 2022-08-23 21:45:26
根据具体情况,可以有不同的解释,即整合应该是什么。通常,当您测试应用程序的多个部分正确地协同工作时,可以说您有一个集成测试。
如果您想为api编写集成测试,请在数据库中创建一些数据,使用Django的Testclient访问api,并将api响应的结果与预期的结果进行比较。当然,您还应该检查身份验证、授权、未找到的数据等等。
即使您应该编写集成测试,如果您使用CBV,我建议您至少编写一个关于get_queryset方法的单元测试。
为了方便地预先优化数据库,可以使用FactoryBoy:https://factoryboy.readthedocs.io/en/stable/index.html
如果您使用纯Django,请查看他们的测试指南:https://docs.djangoproject.com/en/4.1/topics/testing/tools/
如果您使用Django Rest框架,请查看他们关于testclient的测试指南:https://www.django-rest-framework.org/api-guide/testing/
https://stackoverflow.com/questions/73461844
复制相似问题