testing Paket

Modul

about
dialog_test_client
dialog_test_logger
storage_base_tests

Pengujian dasar yang harus diterapkan oleh semua penyedia penyimpanan dalam pengujian mereka sendiri. Mereka menangani pernyataan berbasis penyimpanan, secara internal.

Semua pengujian mengembalikan true jika pernyataan lulus untuk menunjukkan bahwa kode berjalan hingga selesai, melewati pernyataan internal. Oleh karena itu, semua pengujian yang menggunakan tes statis ini harus benar-benar memeriksa apakah metode mengembalikan true.

Catatan: Python tidak dapat memiliki dict dengan properti dengan nilai None seperti SDK lainnya dapat memiliki properti dengan nilai null. Karena itu, pengujian StoreItem memiliki "e_tag: *" di mana pengujian di SDK lain tidak. Ini juga telah menyebabkan kami mengomentari beberapa bagian dari pengujian ini di mana kami menegaskan bahwa "e_tag" tidak ada karena alasan yang sama. E_tag null harus berfungsi seperti * e_tag saat menulis, sejauh adaptor penyimpanan dikonserasikan, jadi ini seharusnya tidak menyebabkan masalah.

:Contoh: asinkron def test_handle_null_keys_when_reading(mandiri): tunggu reset()

    test_ran = await StorageBaseTests.handle_null_keys_when_reading(get_storage())


    assert test_ran

Kelas

DialogTestClient

Klien untuk menguji dialog dalam isolasi.

Buat DialogTestClient untuk menguji dialog tanpa harus membuat adaptor lengkap.

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

Untuk Id saluran, gunakan 'emulator' atau 'uji' jika Anda tidak yakin tentang saluran yang Anda targetkan. Jika tidak, disarankan agar Anda menggunakan id untuk saluran yang akan digunakan bot Anda dan menulis kasus pengujian untuk setiap saluran. Atau, instans adaptor pengujian dapat digunakan. :type channel_or_adapter: Union[str, TestAdapter] :p aram target_dialog: Dialog yang akan diuji. Ini akan menjadi dialog akar untuk klien pengujian. :type target_dialog: Dialog :p aram initial_dialog_options: (Opsional) argumen tambahan untuk meneruskan ke dialog yang sedang dimulai. :type initial_dialog_options: object :p aram middlewares: (Opsional) Adaptor pengujian yang akan digunakan. Jika parameter ini tidak disediakan, klien pengujian akan menggunakan TestAdapter default. :type middlewares: List[Middleware] :p aram conversation_state: (Opsional) Instans ConversationState untuk digunakan di klien pengujian. :type conversation_state: ConversationState

DialogTestLogger

Middleware untuk menghasilkan aktivitas masuk dan keluar sebagai string json ke konsol selama pengujian unit.

Menginisialisasi instans baru dari pencatat pengujian dialog.

default ke logging.getLogger( nama).info. :type log_func: Callable[..., None] :p aram json_indent: Inden untuk output json, inden default adalah 4. :type json_indent: int :p aram time_func: Fungsi waktu untuk merekam rentang waktu, default ke time.monotonic. :type time_func: Callable[[], float]

StorageBaseTests