testing Paquet

Modules

about
dialog_test_client
dialog_test_logger
storage_base_tests

Tests de base que tous les fournisseurs de stockage doivent implémenter dans leurs propres tests. Ils gèrent les assertions basées sur le stockage, en interne.

Tous les tests retournent true si les assertions réussissent pour indiquer que le code s’est exécuté jusqu’à la fin, en passant des assertions internes. Par conséquent, tous les tests utilisant ces tests statiques doivent vérifier strictement que la méthode retourne true.

Remarque : Python ne peut pas avoir de dictes avec des propriétés avec une valeur None comme d’autres kits SDK peuvent avoir des propriétés avec des valeurs Null. En raison de cela, les tests StoreItem ont « e_tag : * » où les tests dans les autres kits SDK ne le font pas. Cela nous a également amené à commenter certaines parties de ces tests où nous affirmons que « e_tag » n’est pas pour la même raison. Une e_tag Null doit fonctionner comme un * e_tag lors de l’écriture, dans la mesure où les adaptateurs de stockage sont concerened, ce qui ne doit pas provoquer de problèmes.

:Exemple : def asynchrone test_handle_null_keys_when_reading(self) : await reset()

    test_ran = await StorageBaseTests.handle_null_keys_when_reading(get_storage())


    assert test_ran

Classes

DialogTestClient

Un client pour tester les dialogues en isolation.

Créez un DialogTestClient pour tester un dialogue sans avoir à créer un adaptateur à part entière.

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

Pour l’ID de canal, utilisez « émulateur » ou « test » si vous n’êtes pas sûr du canal que vous ciblez. Sinon, il est recommandé d’utiliser l’ID du ou des canaux que votre bot utilisera et d’écrire un cas de test pour chaque canal. Vous pouvez également utiliser une instance d’adaptateur de test. :type channel_or_adapter : Union[str, TestAdapter] :p aram target_dialog : Boîte de dialogue à tester. Il s’agit de la boîte de dialogue racine du client de test. :tapez target_dialog : boîte de dialogue :p aram initial_dialog_options : (Facultatif) arguments supplémentaires à passer au dialogue en cours de démarrage. :type initial_dialog_options : objet :p aram middlewares : (Facultatif) Adaptateur de test à utiliser. Si ce paramètre n’est pas fourni, le client de test utilise un TestAdapter par défaut. :types middlewares : List[Middleware] :p aram conversation_state : (Facultatif) Instance ConversationState à utiliser dans le client de test. :type conversation_state : ConversationState

DialogTestLogger

Intergiciel pour générer des activités entrantes et sortantes sous forme de chaînes json dans la console pendant les tests unitaires.

Initialisez une nouvelle instance de l’enregistreur d’événements de test de boîte de dialogue.

valeur par défaut logging.getLogger(nom).info. :type log_func : Callable[..., None] :p aram json_indent : retrait en retrait pour la sortie json, retrait par défaut est 4. :type json_indent : int :p aram time_func : fonction de temps pour enregistrer des intervalles de temps, valeur par défaut time.monotonic. :type time_func : Callable[[], float]

StorageBaseTests