के लिए SimpleHTTPServer का उपयोग करना मैं एक पायथन मॉड्यूल लिख रहा हूं जो एक निश्चित वेब सेवा API को लपेटता है। यह सभी आरईएसटी है, इसलिए कार्यान्वित करने के लिए अपेक्षाकृत सरल है।यूनिट परीक्षण
हालांकि, जब यूनिट परीक्षण की बात आती है तो मुझे एक समस्या मिली: क्योंकि मैं उन मॉडलों को नहीं चलाता जिनके लिए मैंने यह मॉड्यूल बनाया है, मैं उन्हें हथौड़ा नहीं बनाना चाहता, लेकिन साथ ही, मुझे पुनर्प्राप्त करने की आवश्यकता है मेरे परीक्षण चलाने के लिए डेटा। मैंने SimpleHTTPServer को देखा, जो ठीक होगा।
मैंने अपने मुद्दे का एक हिस्सा हल किया, लेकिन अब, क्योंकि मैं थ्रेड को समाप्त नहीं कर सकता, मुझे एक बार से अधिक परीक्षण एप्लिकेशन लॉन्च करते समय "उपयोग में पहले से ही पता" के साथ समस्याएं मिलती हैं।
यहां कुछ नमूना कोड
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)
कहाँ "index.json" एक नकली JSON फ़ाइल जो असली बात विकल्प मैंने बनाया है। कार्यक्रम समाप्त होने के बाद मैं चीजों को अच्छी तरह से कैसे साफ कर सकता हूं?
SimpleHTTPServer वास्तव में सबसे आसान तरीका होना चाहिए। आप किस तरह की समस्याएं कर रहे हैं? – balpha
मैंने चीजों को दोहराया, मुझे उम्मीद है कि यह अब स्पष्ट है। – Einar