0
我使用下面的代码测试MainHandler。Tornadoweb中使用的测试模板和变量
import tornado.httpserver
import tornado.httpclient
import tornado.ioloop
import tornado.web
import unittest
class MainHandler(tornado.web.RequestHandler):
def get(self):
kwargs = {'name' : 'world'}
self.render('template.html', **kwargs)
class TestTornadoWeb(unittest.TestCase):
http_server = None response = None
def setUp(self):
application = tornado.web.Application([
(r'/', MainHandler),
])
self.http_server = tornado.httpserver.HTTPServer(application)
self.http_server.listen(8888)
def tearDown(self):
self.http_server.stop()
def handle_request(self, response):
self.response = response
tornado.ioloop.IOLoop.instance().stop()
def testHelloWorldHandler(self):
http_client = tornado.httpclient.AsyncHTTPClient()
http_client.fetch('http://localhost:8888/', self.handle_request)
tornado.ioloop.IOLoop.instance().start()
self.failIf(self.response.error)
self.assertEqual(self.response.body, 'Hello, world')
if __name__ == '__main__':
unittest.main()
的template.html:
Hello, {{name}}
我想测试模板,它的变量。
如何测试名称是否被正确接收?
有一些属性可以用来做断言,或者这应该以另一种方式完成?