我有一个处理GET,POST,PUT和DELETE请求的处理程序(RequestHandler的子类)。该类还具有在DB上运行的独立功能。我正在为该类编写单元测试,但我无法初始化该类,因为它需要2个参数。我该怎么做?
注意:我在测试其余呼叫时没有问题。
答案 0 :(得分:1)
我通过使我的testcase类成为测试类的子类来解决这个问题。
答案 1 :(得分:0)
这两个参数是tornado.web.Application
和tornado.httputil.HTTPServerRequest
。通常,不是直接构造RequestHandler
,而是通过tornado.testing.AsyncHTTPTestCase
测试Tornado应用程序,这将根据需要创建处理程序。 (你可以手工构建application
和request
,但我不推荐它)
您要测试的功能是否需要application
或request
个对象?如果没有,您可以将它们移出RequestHandler
的子类以单独测试它们。如果他们确实需要这些对象中的任何一个,那么AsyncHTTPTestCase
是获取它们的最简单方法。