2017-05-09 84 views
0

我来自Java背景,在Python中绝对是新手。龙卷风服务器的集成测试

假设我有一个启动这样的一个网络服务器Python程序hello.py

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 GET请求URL http://localhost:5000/hello同步
  • 检查,如果响应== "Hello!"
  • 停止服务器

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

+1

看来你想要这样的例子,不是吗? http://www.tornadoweb.org/en/stable/testing.html#tornado.testing.AsyncHTTPTestCase – kepler

回答

1

我会建议你看看test目录tornado。它包含所有tornado测试,您可以使用pythonnosetests启动。您可以看看httpserver_test.py

+0

那么...那里有很多东西,但我没有找到我需要的测试:(也许我我想要一些简单的东西,我想写一个Python脚本,它在一个单独的线程中运行我的服务器,并通过HTTP与服务器通信。它在Python中可行吗? – Michael