Rethinkdb と Tornado を使用していますrethinkdb.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 の print ステートメントは呼び出されません。
編集:私はtearDownでyieldを呼び出しているという事実に絞り込みました。
編集:@gen.coroutineをtearDownに追加すると、印刷ステートメントが表示されますが、データベースで削除は実行されません