Python 龙卷风路线测试

Python 龙卷风路线测试,python,python-3.x,tornado,pytest,Python,Python 3.x,Tornado,Pytest,我对Tornado还不熟悉,正在从事一个涉及一些相当复杂的路线的项目。在我使用过的大多数其他框架中,我能够隔离路由进行测试,而无需启动服务器或执行任何非常复杂的操作。我更喜欢使用pytest作为我的测试框架,但我不确定这是否重要 有没有办法,比如说,创建我的项目的tornado.web.Application,并将任意路径传递给它,并断言将根据该路径调用哪个RequestHandler?没有,目前无法通过任何公共接口在tornado中测试这一点(从tornado版本4.3开始) 虽然它需要大量的

我对Tornado还不熟悉,正在从事一个涉及一些相当复杂的路线的项目。在我使用过的大多数其他框架中,我能够隔离路由进行测试,而无需启动服务器或执行任何非常复杂的操作。我更喜欢使用pytest作为我的测试框架,但我不确定这是否重要


有没有办法,比如说,创建我的项目的
tornado.web.Application
,并将任意路径传递给它,并断言将根据该路径调用哪个
RequestHandler

没有,目前无法通过任何公共接口在tornado中测试这一点(从tornado版本4.3开始)

虽然它需要大量的代码,但避免服务器旋转是很简单的:HTTPServer和应用程序之间的接口是定义良好并有文档记录的。更棘手的部分是另一面:在调用处理程序之前,没有支持的方法来确定将调用哪个处理程序

出于这个原因,我通常建议通过端到端测试进行测试路由。您还可以在将URL路由列表传递到Tornado之前存储它,并针对它进行测试——“获取第一个正则表达式匹配”的内部逻辑非常容易复制