我正在用 Django 编写一个复杂的 Web 应用程序。有很多组件。特别是两个,是 Django 服务器(我们称之为 this Server
)和一个 C++ 应用程序服务器(我们称之为 this Calculator
),它为Server
. 当想要完成计算时,它会向正在侦听Server
的套接字发送命令。Calculator
像这样:
{
"command": "doCalculations"
}
现在,Calculator
可能在不同的时间需要不同的信息来完成它的工作。因此,与其直接Calaculator
在命令中传递数据,Calculator
不如询问它需要什么。它通过调用 RESTful API 来做到这一点Server
:
https://Server/getStuff?with=arguments
Calculator
然后使用来自此调用的数据进行计算,并以Server
答案进行响应。
当我尝试使用 Django 的 unittest 框架进行单元测试时,问题就开始了。我在测试中设置了一堆数据结构,但是当Server
调用时Calculator
,它需要在 REST API 中提供这些数据,这样Calculator
才能得到它需要的东西。问题是 Django 测试框架没有启动网络服务器,如果我手动执行此操作,它会从真实数据库中读取数据,而不是从测试用例中读取数据。
有人知道如何使用提供给外部人员/流程的数据来运行单元测试吗?
我希望这是有道理的...