اختبار بايثون باستخدام pytest (اختبار بايثون باستخدام pytest)
274 صفحات
Arabic
PDF
4.5

اختبار بايثون باستخدام pytest (اختبار بايثون باستخدام pytest)

اختبار بايثون باستخدام pytest (اختبار بايثون باستخدام pytest)

المؤلف:

السنة:

ملخص:

مقدمة

كتاب «اختبار بايثون باستخدام pytest» (الطبعة الثانية، 2022) من تأليف برايان أوكين هو أحد أكثر الأدلة موثوقية وعملية حول الاختبار بلغة بايثون باستخدام إطار العمل pytest. إذا كنت ترغب ليس فقط في كتابة الاختبارات، بل في القيام بذلك بكفاءة، وأناقة، وبأقل قدر من الكود - فإن هذا الكتاب سيكون دليلك المكتبي. إنه موجه للمطورين الذين هم على دراية بأساسيات بايثون، ويقدم تعمقًا في إمكانيات pytest، بدءًا من assert الأساسية وصولاً إلى الإضافات المعقدة والتكامل مع CI/CD.

عن ماذا يتحدث الكتاب

الكتاب مبني كدليل عملي متسلسل. لا يثقل المؤلف القارئ بالنظرية، بل ينتقل فورًا إلى العمل: يوضح كيفية كتابة اختبارات بسيطة، ثم يزيد تعقيد الأمثلة تدريجيًا. الموضوعات الرئيسية التي يتناولها الكتاب:

  • أساسيات pytest: التثبيت، التشغيل، كتابة الاختبارات الأولى، استخدام assert.
  • المثبتات (fixtures): الإنشاء، نطاق الرؤية، معاملات المثبتات، المثبتات المدمجة (tmp_path، capsys، monkeypatch).
  • معاملات الاختبارات: المُزيّن @pytest.mark.parametrize، دمج المعاملات، توليد بيانات الاختبار.
  • الوسوم (marks): الوسوم المدمجة (skip، xfail، parametrize)، إنشاء وسوم مخصصة، تصفية الاختبارات.
  • الإضافات والتوسعات: نظرة عامة على الإضافات الشائعة (pytest-cov، pytest-mock، pytest-django، pytest-flask)، كتابة إضافات مخصصة.
  • التكامل مع الأدوات الأخرى: unittest، doctest، tox، nox، أنظمة CI (GitHub Actions، Jenkins).
  • اختبار تطبيقات الويب وAPI: العمل مع Flask، Django، FastAPI، اختبار طلبات HTTP.
  • التقنيات المتقدمة: استخدام conftest.py، إعادة تعريف المثبتات، التوليد الديناميكي للاختبارات، اختبار الكود غير المتزامن.

لمن هذا الكتاب

سيكون الكتاب مفيدًا لمجموعة واسعة من القراء:

  • مطوري بايثون المبتدئين الذين يعرفون بالفعل كيفية كتابة الكود، لكنهم يرغبون في إتقان الاختبار من الصفر.
  • المبرمجين ذوي الخبرة الذين يستخدمون unittest أو nose ويرغبون في الانتقال إلى pytest الأكثر حداثة ومرونة.
  • مطوري Full-stack وbackend الذين ينشئون تطبيقات ويب باستخدام Flask أو Django أو FastAPI.
  • مهندسي DevOps المسؤولين عن إعداد CI/CD وجودة الكود.
  • قادة الفرق والمديرين التقنيين الذين يرغبون في غرس ثقافة الاختبار في الفريق.

ماذا سيتعلم القارئ

بعد قراءة الكتاب، ستتمكن من:

  • كتابة اختبارات نظيفة وموجزة وقابلة للصيانة باستخدام pytest.
  • استخدام المثبتات بكفاءة لإعداد وتنظيف بيئة الاختبار.
  • معاملة الاختبارات للتحقق من سيناريوهات متعددة دون تكرار الكود.
  • تطبيق الوسوم لتجميع الاختبارات وتخطيها وتوقع الأخطاء فيها.
  • دمج pytest مع المكتبات الشائعة (mock، coverage، selenium).
  • إعداد التشغيل التلقائي للاختبارات في أنظمة CI.
  • كتابة إضافات مخصصة لتوسيع إمكانيات pytest.
  • اختبار تطبيقات الويب وREST API والكود غير المتزامن.

نقاط القوة في الكتاب

  • التوجه العملي. يحتوي كل فصل على العديد من أمثلة الكود التي يمكن تشغيلها وتعديلها فورًا. لا يشرح المؤلف المفاهيم فحسب، بل يوضح كيفية تطبيقها في المشاريع الحقيقية.
  • الحداثة. تغطي الطبعة الثانية (2022) أحدث إصدارات pytest (7.x)، والميزات الجديدة مثل معاملات المثبتات، وتحسين العمل مع التزامن غير المتزامن، بالإضافة إلى أدوات CI/CD الحديثة.
  • الهيكل. الكتاب منظم بشكل منطقي: من البسيط إلى المعقد. يمكن قراءته بالتسلسل أو استخدامه كمرجع، والانتقال

توصيات