Tornado服务器的集成测试

时间:2017-05-09 11:31:55

标签: python integration-testing tornado

我来自Java背景,而且非常擅长Python。

假设我有Python程序hello.py,它启动这样的Web服务器:

import tornado.web
import tornado.httpserver
import tornado.ioloop

def start_server(port, handler):
    app = tornado.web.Application([(r"/", handler), ])
    server = tornado.httpserver.HTTPServer(app)
    server.bind(port)
    server.start(0)  # autodetect number of cores and fork a process for each
    tornado.ioloop.IOLoop.instance().start()

class MyHandler(tornado.web.RequestHandler):

    def get(self):
        self.write("Hello!")

start_server(5000, MyHandler)

现在我想在Python中为这个服务器编写一个集成测试。测试应该:

  • 运行hello.py以启动服务器
  • 同步向网址http://localhost:5000/hello发送HTTP GET请求
  • 检查回复是否= "Hello!"
  • 停止服务器

你会如何建议写这样的测试?

1 个答案:

答案 0 :(得分:1)

我建议您查看testtornado目录。它包含所有tornado测试,您可以使用pythonnosetests启动。

您可以查看httpserver_test.py