특정 웹 서비스 API를 감싸는 파이썬 모듈을 작성하고 있습니다. 모든 REST이므로 구현하기가 상대적으로 간단합니다.단위 테스트를 위해 SimpleHTTPServer 사용하기
그러나 단위 테스트와 관련하여 문제가 발생했습니다. 모듈을 만든 서비스를 실행하지 않기 때문에 망치질을 원하지 않지만 동시에 검색해야합니다. 내 테스트를 실행할 데이터. 나는 SimpleHTTPServer를 보았는데 괜찮을 것이다.
문제의 일부를 해결했지만 지금은 스레드를 종료 할 수 없으므로 테스트 응용 프로그램을 두 번 이상 실행할 때 "주소가 이미 사용 중입니다"라는 문제가 발생합니다.
는 여기에 몇 가지 예제 코드 "index.json는"진짜를 대체 내가 만든 모의 JSON 파일이
PORT = 8001
handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), handler)
httpd_thread = threading.Thread(target=httpd.serve_forever)
httpd_thread.setDaemon(True)
httpd_thread.start()
api_data = urllib.urlopen("http://localhost:8001/post/index.json")
print "Data start:"
print json.load(api_data)
입니다. 프로그램을 종료 한 후 어떻게하면 정상적으로 정리할 수 있습니까?
SimpleHTTPServer가 가장 쉬운 방법입니다. 어떤 종류의 문제가 있습니까? – balpha
나는 사물의 말을 바꿨다. – Einar