testing Paket

Module

about
dialog_test_client
dialog_test_logger
storage_base_tests

Basistests, die alle Speicheranbieter in ihren eigenen Tests implementieren sollten. Sie behandeln die speicherbasierten Assertionen intern.

Alle Tests geben "true" zurück, wenn Assertionen übergeben werden, um anzugeben, dass der Code abgeschlossen wurde, wobei interne Assertionen übergeben werden. Daher sollten alle Tests mit statischen Thesentests unbedingt überprüfen, ob die Methode "true" zurückgibt.

Hinweis: Python kann keine Diktats mit Eigenschaften mit einem None-Wert haben, wie andere SDKs können Eigenschaften mit NULL-Werten haben. Aus diesem Gründen haben StoreItem-Tests "e_tag: *", bei denen die Tests in den anderen SDKs nicht. Dies hat uns auch dazu geführt, einige Teile dieser Tests auszukommentieren, in denen wir behaupten, dass "e_tag" aus demselben Grund keine ist. Eine NULL-e_tag sollte wie ein * e_tag beim Schreiben funktionieren, soweit die Speicheradapter verkettet sind, sodass dies keine Probleme verursachen sollte.

:Beispiel: 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

Klassen

DialogTestClient

Ein Client zum Testen von Dialogfeldern isoliert.

Erstellen Sie einen DialogTestClient, um ein Dialogfeld zu testen, ohne einen vollständigen Adapter erstellen zu müssen.

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

Verwenden Sie für die Kanal-ID "Emulator" oder "Test", wenn Sie nicht sicher sind, auf den Kanal Sie abzielen. Andernfalls wird empfohlen, die ID für die Kanäle zu verwenden, die Ihr Bot verwendet und einen Testfall für jeden Kanal schreibt. Oder eine Testadapterinstanz kann verwendet werden. :type channel_or_adapter: Union[str, TestAdapter] :p aram target_dialog: Das zu testende Dialogfeld. Dies ist das Stammdialogfeld für den Testclient. :type target_dialog: Dialog :p aram initial_dialog_options: (Optional) zusätzliche Argumente, die an das zu startende Dialogfeld übergeben werden sollen. :type initial_dialog_options: object :p aram middlewares: (Optional) Der zu verwendende Testadapter. Wenn dieser Parameter nicht angegeben wird, verwendet der Testclient einen StandardtestAdapter. :type middlewares: List[Middleware] :p aram conversation_state: (Optional) Eine ConversationState-Instanz, die im Testclient verwendet werden soll. :type conversation_state: ConversationState

DialogTestLogger

Eine Middleware zum Ausgeben von eingehenden und ausgehenden Aktivitäten als JSON-Zeichenfolgen in der Konsole während komponententests.

Initialisieren Sie eine neue Instanz des Dialogtestprotokollierers.

standard to logging.getLogger(name).info. :type log_func: Callable[..., None] :p aram json_indent: Ein Einzug für json-Ausgabe, Standardeinzug ist 4. :type json_indent: int :p aram time_func: Eine Zeitfunktion zum Aufzeichnen von Zeitspannen, standardmäßig time.monoton. :type time_func: Callable[[], float]

StorageBaseTests