testing Paket

Moduler

about
dialog_test_client
dialog_test_logger
storage_base_tests

Grundläggande tester som alla lagringsprovidrar bör implementera i sina egna tester. De hanterar de lagringsbaserade försäkran internt.

Alla tester returnerar sant om försäkran skickas för att indikera att koden kördes till slutförande och skickade interna intyg. Därför bör alla tester som använder dessa statiska tester strikt kontrollera att metoden returnerar true.

Obs! Python kan inte ha dikteringar med egenskaper med värdet Ingen som andra SDK:er kan ha egenskaper med null-värden. Därför har StoreItem-tester "e_tag: *" där testerna i de andra SDK:erna inte gör det. Detta har också fått oss att kommentera ut vissa delar av dessa tester där vi hävdar att "e_tag" är Ingen av samma anledning. En null-e_tag bör fungera precis som en * e_tag när du skriver, så långt som lagringskorten sammanfogas, så detta bör inte orsaka problem.

:Exempel: async def test_handle_null_keys_when_reading(self): await reset()

    test_ran = await StorageBaseTests.handle_null_keys_when_reading(get_storage())


    assert test_ran

Klasser

DialogTestClient

En klient för att testa dialogrutor isolerat.

Skapa en DialogTestClient för att testa en dialogruta utan att behöva skapa ett fullfjädrad kort.

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

För kanal-ID använder du "emulator" eller "test" om du är osäker på vilken kanal du riktar in dig på. Annars rekommenderar vi att du använder ID:t för de kanaler som roboten använder och skriver ett testfall för varje kanal. Eller så kan en testkortinstans användas. :type channel_or_adapter: Union[str, TestAdapter] :p aram target_dialog: Dialogrutan som ska testas. Det här är rotdialogrutan för testklienten. :type target_dialog: Dialog :p aram initial_dialog_options: (Valfritt) ytterligare argument för att skicka till dialogrutan som startas. :type initial_dialog_options: object :p aram middlewares: (Optional) Testadaptern som ska användas. Om den här parametern inte anges använder testklienten en TestAdapter som standard. :type middlewares: List[Middleware] :p aram conversation_state: (Valfritt) En ConversationState-instans som ska användas i testklienten. :type conversation_state: ConversationState

DialogTestLogger

Ett mellanprogram för att mata ut inkommande och utgående aktiviteter som json-strängar till konsolen under enhetstester.

Initiera en ny instans av dialogtestloggaren.

standard för att logging.getLogger(namn).info. :type log_func: Callable[..., None] :p aram json_indent: Ett indrag för json-utdata, standard indrag är 4. :type json_indent: int :p aram time_func: En tidsfunktion för att registrera tidsintervall, som standard time.monotonic. :type time_func: Callable[[], float]

StorageBaseTests