DialogTestClient 类

用于隔离测试对话的客户端。

创建 DialogTestClient 以测试对话,而无需创建完整的适配器。

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

对于通道 ID,如果不确定目标通道,请使用“仿真器”或“测试”。 否则,建议对机器人使用通道 ID 并为每个通道编写测试用例。 或者,可以使用测试适配器实例。 :type channel_or_adapter:Union[str, TestAdapter] :p aram target_dialog:要测试的对话。 这是测试客户端的根对话框。 :type target_dialog:对话框:p aram initial_dialog_options:(可选)其他参数(s)传递给正在启动的对话。 :type initial_dialog_options:对象:p aram 中间件:(可选)要使用的测试适配器。 如果未提供此参数,测试客户端将使用默认 TestAdapter。 :type 中间件:List[中间件] :p aram conversation_state:(可选)在测试客户端中使用的 ConversationState 实例。 :type conversation_state:ConversationState

构造函数

DialogTestClient(channel_or_adapter: str | TestAdapter, target_dialog: Dialog, initial_dialog_options: object = None, middlewares: List[Middleware] = None, conversation_state: ConversationState = None)

参数

名称 说明
channel_or_adapter
必需

要用于测试的通道 ID 或测试适配器。

target_dialog
必需
initial_dialog_options
默认值: None
middlewares
默认值: None
conversation_state
默认值: None

方法

get_next_reply

获取等待传递的下一个答复(如果存在)

send_activity

将活动发送到对话框中。

get_next_reply

获取等待传递的下一个答复(如果存在)

get_next_reply() -> Activity

返回

类型 说明
<xref:Activity>

可用于断言答复等的 TestFlow。

send_activity

将活动发送到对话框中。

async send_activity(activity) -> Activity

参数

名称 说明
activity
必需

可能包含文本的活动。

返回

类型 说明
<xref:Activity>

可用于断言答复等的 TestFlow。