Piszę moduł Pythona, który otacza określony API serwisu WWW. To wszystko jest REST, więc stosunkowo proste do wdrożenia.Używanie SimpleHTTPServer do testowania jednostkowego
Znalazłem jednak problem, jeśli chodzi o testowanie jednostkowe: ponieważ nie uruchamiam usług, dla których zrobiłem ten moduł, nie chcę ich młotkować, ale jednocześnie muszę je odzyskać dane do uruchomienia moich testów. Spojrzałem na SimpleHTTPServer, co byłoby OK.
Rozwiązałem część problemu, który miałem, ale teraz, ponieważ nie mogę zakończyć wątku, pojawia się problem z "adresem już w użyciu" podczas uruchamiania aplikacji testowej więcej niż raz.
Oto niektóre przykładowy kod
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)
Gdzie „index.json” to mock plik JSON zrobiłem który zastępuje prawdziwych. Jak mogę wyczyścić rzeczy z gracją po zakończeniu programu?
SimpleHTTPServer powinien naprawdę być najprostszy sposób. Jakie masz problemy? – balpha
Przeformułowałem sprawy, mam nadzieję, że teraz jest jaśniej. – Einar