2017-05-09 5 views
0

저는 자바 배경에서 왔으며 파이썬에서 완전히 새로운 것 같습니다. 토네이도 서버 통합 테스트

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) 

지금 내가 파이썬에서이 서버에 대한 통합 테스트를 작성하고 싶습니다 :

내가 그런 웹 서버를 실행 파이썬 프로그램 hello.py 있다고 가정하자. 이 시험은 수행해야합니다

  • 실행 hello.py 서버
  • http://localhost:5000/hello를 URL로 HTTP GET 요청을 전송을 시작하는 동기
  • 체크하면 응답 == "Hello!"
  • 서버

을 중지 그런 시험을 어떻게 제안 하시겠습니까?

+1

이 예제와 같은 것을 원하셨습니까? http://www.tornadoweb.org/en/stable/testing.html#tornado.testing.AsyncHTTPTestCase – kepler

답변

1

tornado 디렉토리의 test 디렉토리를 살펴 보시기 바랍니다. 여기에는 tornado 테스트가 모두 포함되어 있으며 python 또는 nosetests으로 시작할 수 있습니다.

httpserver_test.py을 살펴볼 수 있습니다.

+0

음 ... 거기에 많은 것들이 있지만 필요한 테스트를 찾지 못했습니다. (아마도 뭔가 부족합니다. 아주 간단합니다. 파이썬 스크립트를 작성하여 별도의 스레드에서 서버를 실행하고 HTTP를 통해 서버와 통신합니다. 파이썬에서 사용할 수 있습니까? – Michael

관련 문제