共用方式為


TestFlow class

允許簡單建構一系列測試之 TestAdapter 的支持類別。

備註

呼叫 adapter.send()adapter.test() 會建立新的測試流程,您可以使用 Fluent 語法將其他測試鏈結在一起。

const { TestAdapter } = require('botbuilder');

const adapter = new TestAdapter(async (context) => {
   if (context.text === 'hi') {
      await context.sendActivity(`Hello World`);
   } else if (context.text === 'bye') {
      await context.sendActivity(`Goodbye`);
   }
});

adapter.test(`hi`, `Hello World`)
       .test(`bye`, `Goodbye`)
       .then(() => done());

屬性

previous

方法

assertNoReply(string, number)

產生判斷提示,指出回合處理邏輯未如預期般從 Bot 產生回復。

assertReply(string | Partial<Activity> | TestActivityInspector, string, number)

如果 Bot 回應不符合預期的文字 / 活動,則會產生判斷提示。

assertReplyOneOf(string[], string, number)

如果 Bot 回應不是其中一個候選字串,則產生判斷提示。

catch((reason: any) => void)

catch() 子句新增至測試承諾鏈結。

delay(number)

在繼續之前插入延遲。

finally(() => void)

加入 finally 子句。 請注意,之後您無法繼續鏈結。

send(string | Partial<Activity>)

將某項目傳送至 Bot。

sendConversationUpdate()

建立交談更新活動並處理活動。

startTest()

啟動測試序列,並傳回要等候的承諾。

test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)

將某專案傳送至 Bot,並預期 Bot 會以指定的回復傳回。 這隻是呼叫 send()assertReply()的包裝函式。 這是協助程式提供的常見模式。

then(() => void, (err: any) => void)

then() 步驟新增至測試承諾鏈結。

屬性詳細資料

previous

previous: Promise<void>

屬性值

Promise<void>

方法詳細資料

assertNoReply(string, number)

產生判斷提示,指出回合處理邏輯未如預期般從 Bot 產生回復。

function assertNoReply(description?: string, timeout?: number): TestFlow

參數

description

string

(選擇性)測試案例的描述。 如果未提供,則會產生一個 。

timeout

number

(選擇性) 等候 Bot 回應的毫秒數。 預設為 3000的值。

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。

assertReply(string | Partial<Activity> | TestActivityInspector, string, number)

如果 Bot 回應不符合預期的文字 / 活動,則會產生判斷提示。

function assertReply(expected: string | Partial<Activity> | TestActivityInspector, description?: string, timeout?: number): TestFlow

參數

expected

string | Partial<Activity> | TestActivityInspector

來自 Bot 的預期文字或活動。 可以是回呼,以使用自定義邏輯來檢查回應。

description

string

(選擇性)測試案例的描述。 如果未提供,則會產生一個 。

timeout

number

(選擇性) 等候 Bot 回應的毫秒數。 預設為 3000的值。

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。

assertReplyOneOf(string[], string, number)

如果 Bot 回應不是其中一個候選字串,則產生判斷提示。

function assertReplyOneOf(candidates: string[], description?: string, timeout?: number): TestFlow

參數

candidates

string[]

候選回應的清單。

description

string

(選擇性)測試案例的描述。 如果未提供,則會產生一個 。

timeout

number

(選擇性) 等候 Bot 回應的毫秒數。 預設為 3000的值。

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。

catch((reason: any) => void)

catch() 子句新增至測試承諾鏈結。

function catch(onRejected?: (reason: any) => void): TestFlow

參數

onRejected

(reason: any) => void

如果測試擲回錯誤,則執行的程序代碼。

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。

delay(number)

在繼續之前插入延遲。

function delay(ms: number): TestFlow

參數

ms

number

ms to wait.

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。

finally(() => void)

加入 finally 子句。 請注意,之後您無法繼續鏈結。

function finally(onFinally: () => void): Promise<void>

參數

onFinally

() => void

在測試鏈結之後執行的程序代碼。

傳回

Promise<void>

代表異步作業的承諾。

send(string | Partial<Activity>)

將某項目傳送至 Bot。

function send(userSays: string | Partial<Activity>): TestFlow

參數

userSays

string | Partial<Activity>

模擬使用者輸入的文字或活動。

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。

sendConversationUpdate()

建立交談更新活動並處理活動。

function sendConversationUpdate(): TestFlow

傳回

新的 TestFlow 物件。

startTest()

啟動測試序列,並傳回要等候的承諾。

function startTest(): Promise<void>

傳回

Promise<void>

代表異步作業的承諾。

test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)

將某專案傳送至 Bot,並預期 Bot 會以指定的回復傳回。 這隻是呼叫 send()assertReply()的包裝函式。 這是協助程式提供的常見模式。

function test(userSays: string | Partial<Activity>, expected: string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, description?: string, timeout?: number): TestFlow

參數

userSays

string | Partial<Activity>

模擬使用者輸入的文字或活動。

expected

string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void

Bot 所傳送回復的預期文字或活動。

description

string

(選擇性)測試案例的描述。 如果未提供,則會產生一個 。

timeout

number

(選擇性) 等候 Bot 回應的毫秒數。 預設為 3000的值。

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。

then(() => void, (err: any) => void)

then() 步驟新增至測試承諾鏈結。

function then(onFulfilled?: () => void, onRejected?: (err: any) => void): TestFlow

參數

onFulfilled

() => void

如果測試目前正在通過,則執行的程序代碼。

onRejected

(err: any) => void

如果測試擲回錯誤,則執行的程序代碼。

傳回

新的 TestFlow 物件,將這個交換附加至模型化交換。