我有一个python wsgi应用程序,配置为使用安装在应用程序虚拟环境中的uwsgi运行。该应用程序的主要功能是从数据库中检索文件。我需要在使用uwsgi运行应用程序时测试此功能。同时我需要模拟连接到数据库的函数的输出。在运行uwsgi时,这被证明是一件很难(不可能?)的事情。
主应用程序名为app.py.在同一目录中,有一个带有测试的测试模块(带有 init .py的目录)。我尝试使用patch(form unittest.mock)修补函数的输出,然后在测试用例中打开带有selenium的网页,同时uwsgi正在运行。但uwsgi的输出似乎不受修补影响,uwsgi只使用app.py中的实际功能。
我可以做些什么来达到所需的行为?我需要测试应用程序如何与uwsgi一起工作,同时不能使用任何数据库。
答案 0 :(得分:2)
这似乎是在混合不同级别的测试。模拟/修补适用于单元测试,您可以单独测试功能。您所描述的是集成测试;在这里,您应该将应用程序设置为与测试数据库一起运行,而不是修补。