在Tornado中,多个AsyncHTTPTestCase.fetch()可能吗?

时间:2013-12-10 11:09:15

标签: python unit-testing tornado

我正在使用AsyncHTTPTestCase.fetch()同步获取响应;在方法的正文中,self.stop作为请求完成回调传递给self.http_client.fetch()。此外,self.http_client仅在__init__中分配一次,并且永远不会重新分配。

所以我得出结论,每次测试只能进行一次fetch()次呼叫。这是对的吗?

这是为了这个,为什么?

1 个答案:

答案 0 :(得分:1)

在一次测试中多次调用fetch()肯定是可能的。实际上,AsyncTestCase's documentation表示"在同一个测试中可能有多个等待/停止周期。"

可能的原因是AsyncHTTPTestCase.fetch()调用AsyncTestCase.wait(),而wait()调用(重新)启动IOLoop。简而言之,wait() runs the IOLoop until self.stop() is called