Freigeben über


TestFlow class

Unterstützungsklasse für TestAdapter, die die einfache Konstruktion einer Abfolge von Tests ermöglicht.

Hinweise

Das Aufrufen von adapter.send() oder adapter.test() erstellt einen neuen Testfluss, mit dem Sie zusätzliche Tests mithilfe einer Fluent-Syntax verketten können.

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());

Eigenschaften

previous

Methoden

assertNoReply(string, number)

Generiert eine Assertion, dass die Turn-Verarbeitungslogik keine Antwort vom Bot generiert hat, wie erwartet.

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

Generiert eine Assertion, wenn die Bots-Antwort nicht mit dem erwarteten Text/der erwarteten Aktivität übereinstimmt.

assertReplyOneOf(string[], string, number)

Generiert eine Assertion, wenn die Bots-Antwort keine der Kandidatenzeichenfolgen ist.

catch((reason: any) => void)

Fügt der Testzusagekette eine catch() Klausel hinzu.

delay(number)

Fügt eine Verzögerung ein, bevor sie fortgesetzt wird.

finally(() => void)

Fügt eine abschließende Klausel hinzu. Beachten Sie, dass Sie die Verkettung danach nicht beibehalten können.

send(string | Partial<Activity>)

Sendet etwas an den Bot.

sendConversationUpdate()

Erstellt eine Aktivität zum Aktualisieren einer Unterhaltung und verarbeitet die Aktivität.

startTest()

Starten Sie die Testsequenz, und geben Sie eine zu erwartende Zusage zurück.

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

Senden Sie etwas an den Bot und erwartet, dass der Bot mit einer bestimmten Antwort zurückgegeben wird. Dies ist einfach ein Wrapper um Aufrufe von send() und assertReply(). Dies ist ein so häufiges Muster, das ein Hilfsprogramm bereitgestellt wird.

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

Fügt der Testzusagekette einen then() Schritt hinzu.

Details zur Eigenschaft

previous

previous: Promise<void>

Eigenschaftswert

Promise<void>

Details zur Methode

assertNoReply(string, number)

Generiert eine Assertion, dass die Turn-Verarbeitungslogik keine Antwort vom Bot generiert hat, wie erwartet.

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

Parameter

description

string

(Optional) Beschreibung des Testfalls. Wenn keine bereitgestellt wird, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort von Bot warten. Der Standardwert ist ein Wert von 3000.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.

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

Generiert eine Assertion, wenn die Bots-Antwort nicht mit dem erwarteten Text/der erwarteten Aktivität übereinstimmt.

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

Parameter

expected

string | Partial<Activity> | TestActivityInspector

Text oder Aktivität vom Bot erwartet. Dies kann ein Rückruf sein, um die Antwort mithilfe benutzerdefinierter Logik zu prüfen.

description

string

(Optional) Beschreibung des Testfalls. Wenn keine bereitgestellt wird, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort von Bot warten. Der Standardwert ist ein Wert von 3000.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.

assertReplyOneOf(string[], string, number)

Generiert eine Assertion, wenn die Bots-Antwort keine der Kandidatenzeichenfolgen ist.

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

Parameter

candidates

string[]

Liste der Kandidatenantworten.

description

string

(Optional) Beschreibung des Testfalls. Wenn keine bereitgestellt wird, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort von Bot warten. Der Standardwert ist ein Wert von 3000.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.

catch((reason: any) => void)

Fügt der Testzusagekette eine catch() Klausel hinzu.

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

Parameter

onRejected

(reason: any) => void

Code, der ausgeführt werden soll, wenn der Test einen Fehler ausgelöst hat.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.

delay(number)

Fügt eine Verzögerung ein, bevor sie fortgesetzt wird.

function delay(ms: number): TestFlow

Parameter

ms

number

ms to wait.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.

finally(() => void)

Fügt eine abschließende Klausel hinzu. Beachten Sie, dass Sie die Verkettung danach nicht beibehalten können.

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

Parameter

onFinally

() => void

Code, der nach der Testkette ausgeführt werden soll.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt.

send(string | Partial<Activity>)

Sendet etwas an den Bot.

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

Parameter

userSays

string | Partial<Activity>

Text oder Aktivität, der die Benutzereingabe simuliert.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.

sendConversationUpdate()

Erstellt eine Aktivität zum Aktualisieren einer Unterhaltung und verarbeitet die Aktivität.

function sendConversationUpdate(): TestFlow

Gibt zurück

Ein neues TestFlow-Objekt.

startTest()

Starten Sie die Testsequenz, und geben Sie eine zu erwartende Zusage zurück.

function startTest(): Promise<void>

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt.

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

Senden Sie etwas an den Bot und erwartet, dass der Bot mit einer bestimmten Antwort zurückgegeben wird. Dies ist einfach ein Wrapper um Aufrufe von send() und assertReply(). Dies ist ein so häufiges Muster, das ein Hilfsprogramm bereitgestellt wird.

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

Parameter

userSays

string | Partial<Activity>

Text oder Aktivität, der die Benutzereingabe simuliert.

expected

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

Text oder Aktivität der vom Bot gesendeten Antwort erwartet.

description

string

(Optional) Beschreibung des Testfalls. Wenn keine bereitgestellt wird, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort von Bot warten. Der Standardwert ist ein Wert von 3000.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.

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

Fügt der Testzusagekette einen then() Schritt hinzu.

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

Parameter

onFulfilled

() => void

Code, der ausgeführt werden soll, wenn der Test zurzeit besteht.

onRejected

(err: any) => void

Code, der ausgeführt werden soll, wenn der Test einen Fehler ausgelöst hat.

Gibt zurück

Ein neues TestFlow--Objekt, das diesen Austausch an den modellierten Exchange anfüge.