আমি ইন্টিগ্রেশন পরীক্ষার সময় লক্ষ্য করেছি যে আমি আসলে বিশ্রামপ্রাপ্ত এপিআই (বা সাধারণ এইচটিটিপি ইন্টারফেসে) এর পুনরাবৃত্ত ব্যবহারের ক্ষেত্রে কাজ করি যা আমি এখানে এবং সেখানে বাশ + সিআরএল দিয়ে যাচাই করি।
এটি বেশ অগোছালো দেখা শুরু করে এবং বজায় রাখা আরও কঠিন হয়ে যায়। মেস কেন দেবেন?
সাধারণ ব্যবহারের কেসগুলি হ'ল:
- পরীক্ষা করুন যে কোনও URL টি HTTP প্রতিক্রিয়া কোড যেমন 200 প্রদান করে 200
- সেই ক্ষেত্রে আপনার প্রয়োজন এমন কিছু মাইমির সাথে সামগ্রীর প্রকারটি মেলে তা পরীক্ষা করুন
- ফিরে আসা সামগ্রীটি কিছু প্যাটার্নের সাথে মেলে বা একটি বিমূর্ত বৈধকরণ পদ্ধতিটি পাস করে দেখুন
আমি এখন পর্যন্ত যা খুঁজে পেয়েছি এবং চাকাটি পুনরায় উদ্ভাবন না করে একটি কার্যক্ষম বিকল্প বিবেচনা করি তা হ'ল:
- পাইকরেলের সাথে যেতে হবে - একটি আশায় এটি সম্পূর্ণরূপে সমস্ত সিআরএল বিকল্পগুলি কার্যকর করে sp প্রক্সিং করা তবে অন্যান্য সুইচগুলিও আমার প্রয়োজন হতে পারে
- পাইথনের বিল্ট ইন ইউনিট টেস্টং ব্যবহার করুন
তারপরে আমি উদাহরণস্বরূপ, পরিষেবা প্রতি এক ইউনিট পরীক্ষা আমি যাচাই করতে চাই:
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()
এটি কি বোঝায় বা আরও বেশি উচ্চ-স্তরের (তবে বাছাই এবং সংহত করার পক্ষে জটিল নয়)?