我开始用Python和Falcon和Gunicorn编写一个小的REST API。我想编写一些集成测试,但我不确定如何设置适当的测试环境(例如切换到另一个数据库(。你有一些好的建议或教程吗?
我目前的想法是引入一些中间件并提供一个标头。如果设置了标头,我可以切换到我的测试配置。
绝对不要仅仅为了集成测试而添加中间件。您应该做的是设置一些配置文件供服务器使用。开发、测试和生产是一个不错的设置。每个文件可以指向不同的数据库,并且具有不同的服务器端口。我相信您甚至可以在个人计算机上同时启动和运行开发和测试服务器,而不会出现任何问题。Python 有一个内置的配置模块,你可以使用。您可以在 shell 中设置环境变量,以便服务器知道要使用哪个配置文件。例如,在 bash FALCON_ENV='DEV'
中,您可以使用 os 模块获取环境变量 - os.environ['FALCON_ENV']
。希望有帮助,请随时提出更多问题。
您可能希望尝试使用falcon core提供的虚拟测试环境和测试助手:
http://falcon.readthedocs.io/en/stable/api/testing.html