我正在使用 Rethinkdb 和 Tornadorethinkdb.set_loop_type("tornado")
我正在使用 python unittests 来测试我的服务器路由。
这是我的单元测试基类:
class ServerTest(AsyncHTTPTestCase):
def setUp(self):
super(ServerTest, self).setUp()
def get_app(self):
return Application(self.routes, debug = False)
def post(self, route, data):
result = self.fetch("/%s" % route, method = "POST",
body = json.dumps(data)).body
return json.loads(result)
def tearDown(self):
super(ServerTest, self).tearDown()
conn = yield r.connect()
yield r.db("test").table("test_table").delete().run(conn)
conn.close()
我注意到它setUp
运行正常,但tearDown
不是。我所有的单元测试都正确通过,但不调用 tearDown 中的打印语句。
编辑:我已经把它缩小到我在tearDown中调用yield的事实。
编辑:将@gen.coroutine 添加到 tearDown 显示打印语句,但不对数据库执行删除