【发布时间】:2011-02-07 12:28:27
【问题描述】:
我正在编写一对简单的 WSGI 应用程序来了解标准,并且我想测试我的应用程序是否按预期工作。现在我正在尝试找出启动和停止托管这些应用程序的服务器的最佳方式。
我的第一个想法是在setUp 方法中从wsgiref 启动SimpleServer 并在tearDown 方法中关闭它。由于serve_forever 阻塞,我在单独的Thread 中完成了这项工作。不幸的是,如果我使用serve_forever 启动服务器,它所在的辅助线程永远不会死掉,结果threading 并没有公开杀死Thread 的方法。
现在我正在考虑在服务器的Thread 中使用类似的东西作为我的run 实现:
while keep_going:
httpd.handle_request()
其中keep_going 是我在setUp 中设置为True 并在tearDown 中设置为False 的变量。
有没有更好的方法?我希望只使用标准库来编写这些应用程序和测试——当我使用 lib/framework 时更好地理解我正在抽象的内容——但这似乎很麻烦。
谢谢。
【问题讨论】:
标签: python testing wsgi functional-testing