![](/img/trans.png)
[英]Run tornado.testing.AsyncTestCase using asyncio event loop
[英]Tornado: AsyncTestCase failing with asyncmongo
嘗試對asyncmongo查詢進行單元測試。 在調用wait()時獲取以下錯誤。 這是因為asyncmongo使用2個參數調用回調嗎?
停止時斷言文件“〜/ envs / test / local / lib / python2.7 / site-packages / tornado / testing.py”,行223斷言_arg為None或not kwargs
class MyTestCase2(AsyncTestCase):
def test_async_mongo(self):
self.db = asyncmongo.Client(pool_id='mydb', host='127.0.0.1', port=27017, maxcached=10, maxconnections=50, dbname='bench')
self.db["ss"].insert({"a": "1"}, callback=self.stop)
self.wait()
是的,這是因為AsyncTestCase期望函數使用一個參數,而asyncmongo使用兩個參數。 此類問題的一般解決方案是適配器功能:
self.db["ss"].insert({"a": "1"},
callback=lambda response, error: self.stop((response, error)))
response, error = self.wait()
順便說一句,考慮使用馬達代替asyncmongo-馬達在像協程這樣的現代龍卷風習語中效果更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.