2013-12-10 62 views
0

我使用AsyncHTTPTestCase.fetch()來同步獲得響應;在方法的主體中,self.stop作爲請求完成回調傳遞給self.http_client.fetch()。此外,self.http_client僅在__init__中被分配一次,並且不會被重新分配。在龍捲風中,是否有多個AsyncHTTPTestCase.fetch()可能?

所以我得出結論,只有一個fetch()調用是可能的每個測試。它是否正確?

這是打算,爲什麼?

回答

1

在一次測試中多次撥打fetch()肯定有可能。實際上,AsyncTestCase's documentation狀態爲「在同一測試中可能有多個等待/停止週期。」

有可能的原因是AsyncHTTPTestCase.fetch()調用AsyncTestCase.wait()並且它是致電wait()重新啓動IOLoop。總之,wait()runs the IOLoop until self.stop() is called

+0

謝謝,它讓我再次讀了它。我發現多次調用'new AsyncHTTPClient(self.io_loop).fetch()'是可能的,但不能調用'myAsyncHTTPTestCase.fetch()'。 「AsyncHTTPTestCase」文檔中的示例爲每個請求創建一個新的「客戶端」。 –