पृष्ठभूमि के लिए मिडलवेयर के साथ django पेजों का परीक्षण करना पृष्ठभूमि: मैं अपने एकल django ऐप को अलग-अलग होस्टनामों का जवाब देने के लिए मिडलवेयर django-multihost
(http://effbot.org/zone/django-multihost.htm) का उपयोग कर रहा हूं। परियोजना। Host:
HTTP अनुरोध शीर्षलेख के आधार पर मिडलवेयर ROOT_URLCONF
(यानी urls.py
फ़ाइल) को बदलता है।मल्टीहोस्ट
यह बहुत अच्छा काम करता है, लेकिन मैं कुछ सरल एकीकरण परीक्षण लिखना चाहता हूं जो जांचता है कि पृष्ठ ठीक से लोड हो रहे हैं। यहाँ एक बुनियादी परीक्षण है कि जाँच करता है, इसका एक उदाहरण है, तो /trends
पृष्ठ लोड और यह पाठ "आज के लिए रुझान" इस पर है कि:
def test_homepage_loads(self):
client = Client()
client.login(username = 'testing', password = 'testing')
page = client.get("/trends", follow = follow_redirects)
self.assertEquals(page.status_code, 200)
self.assertTrue(page.content.find('Trends for Today') > 0)
समस्या है, यह हमेशा के बजाय डिफ़ॉल्ट ROOT_URLCONF का उपयोग कर लोड हो जाता है मिडलवेयर का आह्वान होगा। इससे कोई फर्क नहीं पड़ता कि मैंने मेजबाननाम को यूआरएल में स्पष्ट रूप से client.get("http://secondarysite/trends")
में रखा है।
मैं django परीक्षण क्लाइंट के साथ अन्य वर्चुअल साइटों पर कैसे परीक्षण कर सकता हूं? मैं परीक्षण में मिडलवेयर का आह्वान करना चाहता हूं ताकि मैं उस तर्क का परीक्षण कर सकूं। लेकिन अगर मुझे परीक्षण की अवधि के लिए ROOT_URLCONF सेट करने की तरह कुछ हैकी करना है, लेकिन मुझे यकीन नहीं है कि यह कैसे करें।
बिल्कुल सही। धन्यवाद! – Leopd