assertNoLogs تختبر غياب الرسائل عند المستوى المحدد أو أعلى؛ نجاحها لا يثبت غياب كل استدعاءات التسجيل. [1] [2]
الخلاصة السريعة
لا؛ المستوى جزء من شرط الفحص. [1] [2]
- assertNoLogs تختبر غياب الرسائل عند المستوى المحدد أو أعلى؛ نجاحها لا يثبت غياب كل استدعاءات التسجيل. [1] [2]
- على CPython 3.12.14، نستخدم tc=TestCase() ومسجلًا مسمى مضبوطًا على WARNING، دون انتشار. [1] [2]
- داخل assertNoLogs عند ERROR، استدعاء logger.warning("bud") لا يفشل التأكيد. [1] [2]
- تحكم: logger.error("bud") عند العتبة نفسها يسبب AssertionError. [1] [2]
- خفض العتبة إلى WARNING يجعل استدعاء warning نفسه يفشل. نختبر المسجل نفسه بخيط واحد، دون أبناء أو معالجات مخصصة. [1] [2]
فحص عند عتبة
assertNoLogs تختبر غياب الرسائل عند المستوى المحدد أو أعلى؛ نجاحها لا يثبت غياب كل استدعاءات التسجيل. [1] [2]
مسجل محدد
على CPython 3.12.14، نستخدم tc=TestCase() ومسجلًا مسمى مضبوطًا على WARNING، دون انتشار. [1] [2]
استدعاء أدنى من العتبة
داخل assertNoLogs عند ERROR، استدعاء logger.warning("bud") لا يفشل التأكيد. [1] [2]
import logging from unittest import TestCase tc=TestCase() logger=logging.getLogger("BA-assertNoLogs-own") logger.setLevel(logging.WARNING);logger.propagate=False with tc.assertNoLogs(logger,level="ERROR"): logger.warning("bud") print("pass") [1] [2]

بلوغ العتبة وخفضها
تحكم: logger.error("bud") عند العتبة نفسها يسبب AssertionError. [1] [2]
try: with tc.assertNoLogs(logger,level="ERROR"):logger.error("bud") except AssertionError:print("error: AssertionError") try: with tc.assertNoLogs(logger,level="WARNING"):logger.warning("bud") except AssertionError:print("warning: AssertionError") [1] [2]
خفض العتبة إلى WARNING يجعل استدعاء warning نفسه يفشل. نختبر المسجل نفسه بخيط واحد، دون أبناء أو معالجات مخصصة. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
