मैंने एकीकरण परीक्षण के दौरान देखा है कि मैं वास्तव में रेस्टफुल एपीआई (या सामान्य HTTP इंटरफेस में) के साथ आवर्ती उपयोग के मामलों पर काम करता हूं, मैं यहां और वहां bash + cURL के साथ जांच करता हूं।
यह काफी गड़बड़ लग रहा है और बनाए रखने के लिए कठिन हो जाता है। क्यों देते हैं गंदगी?
विशिष्ट उपयोग के मामले हैं:
- जाँच करें कि एक URL http प्रतिक्रिया कोड जैसे 200 लौटाता है
- जाँच करें कि सामग्री प्रकार उस मामले में आपकी जरूरत के कुछ मेल से मेल खाता है
- जांचें कि लौटाई गई सामग्री कुछ पैटर्न से मेल खाती है, या एक अमूर्त सत्यापन प्रक्रिया से गुजरती है
मैंने अब तक क्या पाया है और पहिया को फिर से स्थापित किए बिना एक व्यावहारिक विकल्प पर विचार करें:
- PyCurl के साथ जाना है - एक उम्मीद में यह पूरी तरह से सभी curl विकल्प esp को लागू करता है। समीपवर्ती लेकिन अन्य स्विच भी जिनकी मुझे आवश्यकता हो सकती है
- पायथन के यूनिट टेस्टेज में निर्मित का उपयोग करें
उदाहरण के लिए, मैं उदाहरण के लिए, प्रति यूनिट एक इकाई परीक्षण कर सकता हूं जिसे मैं जांचना चाहता हूं:
import unittest, pycurl
class TestService (unittest.TestCase):
def test_1(self):
self.assertEqual(pycurl.returncode("some_url"), 200)
def test_2(self):
self.assertTrue(pycurl.response("some_url").matches ("xxx") )
def test_3(self):
self.assertTrue (pycurl.ContentType("some_url").equal("xxx"))
if __name__ == '__main__':
unittest.main()
क्या यह समझ में आता है या टूलिंग को और अधिक उच्च-स्तरीय (लेकिन बहुत जटिल नहीं है कि वह उठा और एकीकृत कर सके)?