testing Csomag

Modulok

about
dialog_test_client
dialog_test_logger
storage_base_tests

Alaptesztek, amelyeket minden tárolószolgáltatónak saját tesztjeiben kell végrehajtania. A tárolóalapú állításokat belsőleg kezelik.

Az összes teszt igaz értéket ad vissza, ha az állítások teljesülnek, és azt jelzik, hogy a kód a befejezésig futott, belső állításokat ad át. Ezért az ezeket a statikus teszteket használó összes tesztnek szigorúan ellenőriznie kell, hogy a metódus igaz-e.

Megjegyzés: A Python nem rendelkezhet Olyan tulajdonságokkal rendelkező diktálásokkal, amelyek nincs értékkel rendelkeznek, mint más SDK-k, amelyek null értékű tulajdonságokkal rendelkezhetnek. Emiatt a StoreItem-tesztek "e_tag: *" értékkel rendelkeznek, ahol a többi SDK-ban a tesztek nem. Ez arra is késztetett minket, hogy megjegyzést fűzzünk ezeknek a teszteknek néhány részéhez, ahol azt állítjuk, hogy a "e_tag" nincs ugyanazért az okból. A null e_tag ugyanúgy kell működnie, mint a * e_tag íráskor, amennyiben a tárolóadaptereket összefűzték, így ez nem okozhat problémát.

:Példa: aszinkron def test_handle_null_keys_when_reading(self): await reset()

    test_ran = await StorageBaseTests.handle_null_keys_when_reading(get_storage())


    assert test_ran

Osztályok

DialogTestClient

Egy ügyfél, amely elkülönítve teszteli a párbeszédpaneleket.

Hozzon létre egy DialogTestClientet egy párbeszédpanel teszteléséhez anélkül, hogy teljes értékű adaptert kellene létrehoznia.

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

A csatornaazonosítóhoz használja az "emulátor" vagy a "teszt" kifejezést, ha nem biztos a megcélzott csatornában. Ellenkező esetben javasoljuk, hogy a robot által használt csatorna(ok) azonosítóját használja, és minden csatornához írjon tesztesetet. Vagy egy tesztadapter-példány is használható. :type channel_or_adapter: Union[str, TestAdapter] :p aram target_dialog: A tesztelni kívánt párbeszédpanel. Ez lesz a tesztügyfél gyökér párbeszédpanelje. :type target_dialog: Dialog :p aram initial_dialog_options: (Nem kötelező) további argumentum(ok) továbbítása az éppen elindított párbeszédpanelre. :type initial_dialog_options: object :p aram middlewares: (Nem kötelező) A használni kívánt tesztadapter. Ha ez a paraméter nincs megadva, a tesztügyfél egy alapértelmezett TestAdaptert fog használni. :type middlewares: List[Middleware] :p aram conversation_state: (Nem kötelező) A tesztügyfélben használandó ConversationState-példány. :type conversation_state: ConversationState

DialogTestLogger

Köztes szoftver, amely json-sztringekként adja ki a bejövő és kimenő tevékenységeket a konzolon az egységtesztek során.

Inicializálja a párbeszédpanel-tesztnaplózó új példányát.

alapértelmezés szerint logging.getLogger(név).info. :type log_func: Callable[..., None] :p aram json_indent: A json kimenet behúzása, az alapértelmezett behúzás 4. :type json_indent: int :p aram time_func: A time function to record time spans, default to time.monotonic. :type time_func: Callable[[], float]

StorageBaseTests