用于Django测试的虚拟API

问题描述 投票:0回答:1

我有一个预订应用程序,可以处理本地和远程API预订。我们的逻辑 - (例如)定价和可用性 - 遵循两种截然不同的途径。我们显然需要测试两者。

但是针对远程API运行常规测试很慢。提供的测试环境在2-17秒内管理响应。在我的pre_commit测试中使用它是不可行的。即使他们加快了速度,它也永远不会很快,并且总是要求连接通过。

但我仍需要测试API预订的内部逻辑。

在测试运行器中是否有某种方式,我可以启动一个小的网络服务器(与Django网站完全分开),提供其API的参考副本。然后,我可以将其插入到我们正在处理的模型中,并在本地快速查询。

处理这个问题的最佳方法是什么?

同样,我需要强调的是,此参考API不应该是实际网站的一部分。除非有一种方法可以添加仅在测试时应用的视图。我正在寻找干净的解决方案。 API调用非常简单。我不是在寻找验证或类似的东西,只是针对API的预订在内部定价正确,处理可用性问题等。

django django-testing
1个回答
0
投票

对于你的测试porpuse你可以模拟api调用函数。

你可以在这里看到更多:

https://williambert.online/2011/07/how-to-unit-testing-in-django-with-mocking-and-patching/

© www.soinside.com 2019 - 2024. All rights reserved.