testing الحزمة

الوحدات النمطية

about
dialog_test_client
dialog_test_logger
storage_base_tests

الاختبارات الأساسية التي يجب على جميع موفري التخزين تنفيذها في اختباراتهم الخاصة. إنهم يتعاملون مع التأكيدات المستندة إلى التخزين، داخليا.

ترجع جميع الاختبارات القيمة true إذا تم تمرير التأكيدات للإشارة إلى أن التعليمات البرمجية تم تشغيلها حتى الاكتمال، وتمرير التأكيدات الداخلية. لذلك، يجب أن تتحقق جميع الاختبارات التي تستخدم هذه الاختبارات الثابتة بدقة من أن الأسلوب يرجع true.

ملاحظة: لا يمكن أن تحتوي Python على إملاءات ذات خصائص ذات قيمة None مثل SDKs الأخرى التي يمكن أن تحتوي على خصائص ذات قيم خالية. لهذا السبب، تحتوي اختبارات StoreItem على "e_tag: *" حيث لا تحتوي الاختبارات في SDKs الأخرى. وقد تسبب هذا أيضا في التعليق على بعض أجزاء هذه الاختبارات حيث نؤكد أن "e_tag" هو بلا لنفس السبب. يجب أن تعمل e_tag الخالية تماما مثل * e_tag عند الكتابة، بقدر ما تكون محولات التخزين م concerened، لذلك يجب ألا يتسبب هذا في حدوث مشكلات.

:مثال: async def test_handle_null_keys_when_reading(self): في انتظار إعادة التعيين()

    test_ran = await StorageBaseTests.handle_null_keys_when_reading(get_storage())


    assert test_ran

الفصول

DialogTestClient

عميل لاختبار مربعات الحوار بشكل منفصل.

إنشاء DialogTestClient لاختبار مربع حوار دون الحاجة إلى إنشاء محول كامل.

python client = DialogTestClient("test", MY_DIALOG, MY_OPTIONS) reply = await client.send_activity("first message") self.assertEqual(reply.text, "first reply", "reply failed")

بالنسبة إلى معرف القناة، استخدم "المحاكي" أو "الاختبار" إذا لم تكن متأكدا من القناة التي تستهدفها. وإلا، فمن المستحسن استخدام معرف القناة (القنوات) التي سيستخدمها الروبوت الخاص بك وكتابة حالة اختبار لكل قناة. أو يمكن استخدام مثيل محول اختبار. :اكتب channel_or_adapter: Union[str, TestAdapter] :p aram target_dialog: مربع الحوار الذي سيتم اختباره. سيكون هذا هو مربع الحوار الجذر لعميل الاختبار. :اكتب target_dialog: مربع الحوار :p aram initial_dialog_options: (اختياري) وسيطة (وسيطات) إضافية لتمريرها إلى مربع الحوار الذي يتم بدء تشغيله. :اكتب initial_dialog_options: الكائن :p aram middlewares: (اختياري) محول الاختبار المراد استخدامه. إذا لم يتم توفير هذه المعلمة، فسيستخدم عميل الاختبار TestAdapter افتراضيا. :اكتب البرامج الوسيطة: List[Middleware] :p aram conversation_state: (اختياري) مثيل ConversationState لاستخدامه في عميل الاختبار. :اكتب conversation_state: ConversationState

DialogTestLogger

برنامج وسيط لإخراج الأنشطة الواردة والصادرة كسلاسل json إلى وحدة التحكم أثناء اختبارات الوحدة.

تهيئة مثيل جديد لمسجل اختبار مربع الحوار.

افتراضي إلى logging.getLogger( اسم).info. :اكتب log_func: Callable[..., None] :p aram json_indent: مسافة بادئة لإخراج json، المسافة البادئة الافتراضية هي 4. :اكتب json_indent: int :p aram time_func: دالة زمنية لتسجيل الامتدادات الزمنية، افتراضيا إلى time.monotonic. :اكتب time_func: Callable[[], float]

StorageBaseTests