मैं एक twisted.web सर्वर विकसित कर रहा हूं - इसमें कुछ संसाधन शामिल हैं जो प्रतिपादन सामग्री के अलावा कुछ डेटा लाने और पोस्टग्रेस्क्ल डेटाबेस में कुछ डेटा लिखने के लिए adbapi का उपयोग करते हैं। मैं यह समझने की कोशिश कर रहा हूं कि एक परीक्षण को कैसे लिखना है जो शुद्ध उपयोग किए बिना संसाधन प्रतिपादन का परीक्षण करेगा (दूसरे शब्दों में: जो संसाधन शुरू करेगा, इसे एक डमी अनुरोध आदि देगा)।परीक्षण के साथ मुड़ गए वेब संसाधन का परीक्षण कैसे करें?
मान लें कि व्यू संसाधन एक साधारण पत्ता है कि render_GET में परिणामस्वरूप सरल पाठ उत्पन्न करने के लिए adbapi के साथ NOT_DONE_YET और टिंकर लौटाते हैं। अब, मैं इस बेकार कोड लिखा है और मैं कैसे यह वास्तव में संसाधन प्रारंभ बनाने के लिए नहीं आते हैं और कुछ समझदार प्रतिक्रिया का उत्पादन कर सकते हैं:
from twisted.trial import unittest
from myserv.views import View
from twisted.web.test.test_web import DummyRequest
class ExistingView(unittest.TestCase):
def test_rendering(self):
slug = "hello_world"
view = View(slug)
request = DummyRequest([''])
output = view.render_GET(request)
self.assertEqual(request.responseCode, 200)
उत्पादन ... 1. है मैं भी कोशिश की है इस तरह का दृष्टिकोण: output = request.render (देखें) लेकिन एक ही आउटपुट = 1. क्यों? मैं बहुत कुछ उदाहरण के लिए gratefull होगा इस तरह के अनजान लिखने के लिए कैसे!
धन्यवाद! ऐसा लगता है कि काम करना प्रतीत होता है, लेकिन मुड़ने से परिणाम कभी नहीं लौटाता है - मैंने प्रिंट के साथ जांच की है, यह अनुरोध के बाद इंतजार कर रहा है। नोटिफ़ाईफिशिश()। मैंने जिस स्लग का परीक्षण किया है, वह एक्सेस होने पर अच्छी तरह से काम करता है। संभवतः गलत क्या हो सकता है? – pielgrzym
यह 'request.setHeader' और request.setHost पर रुक जाता है - शायद अधिकतर उन्हें डमीरेक्वेट (या उनमें से एक) में लागू नहीं किया गया है। – pielgrzym
Yup यह इस पर विफल रहता है: setHeader और getCookie - मुझे लगता है कि DummyRequest subclassing और कुकी और setHeader कार्यक्षमता को हल करने से यह हल हो जाएगा :) – pielgrzym