Python - Tornado - 如何为独立函数编写单元测试?

时间:2015-12-01 06:24:04

标签: python-2.7 tornado

我有一个处理GET,POST,PUT和DELETE请求的处理程序(RequestHandler的子类)。该类还具有在DB上运行的独立功能。我正在为该类编写单元测试,但我无法初始化该类,因为它需要2个参数。我该怎么做?

注意:我在测试其余呼叫时没有问题。

2 个答案:

答案 0 :(得分:1)

我通过使我的testcase类成为测试类的子类来解决这个问题。

答案 1 :(得分:0)

这两个参数是tornado.web.Applicationtornado.httputil.HTTPServerRequest。通常,不是直接构造RequestHandler,而是通过tornado.testing.AsyncHTTPTestCase测试Tornado应用程序,这将根据需要创建处理程序。 (你可以手工构建applicationrequest,但我不推荐它)

您要测试的功能是否需要applicationrequest个对象?如果没有,您可以将它们移出RequestHandler的子类以单独测试它们。如果他们确实需要这些对象中的任何一个,那么AsyncHTTPTestCase是获取它们的最简单方法。