Freigeben über


TestFlow class

Unterstützungsklasse für TestAdapter , die das einfache Erstellen einer Sequenz von Tests ermöglicht.

Hinweise

Durch das Aufrufen von adapter.send() oder adapter.test() wird ein neuer Testflow erstellt, den Sie mithilfe einer fluent-Syntax zusätzliche Tests 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, die von der Turnverarbeitungslogik nicht wie erwartet eine Antwort vom Bot generiert wurde.

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 Zusagenkette für Tests eine -Klausel hinzu catch() .

delay(number)

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

finally(() => void)

Fügt eine Finally-Klausel hinzu. Beachten Sie, dass Die Verkettung danach nicht mehr möglich ist.

send(string | Partial<Activity>)

Sendet etwas an den Bot.

sendConversationUpdate()

Erstellt eine Konversationsaktualisierungsaktivität 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ückgibt. Dies ist einfach ein Wrapper um Aufrufe von send() und assertReply(). Dies ist ein so häufiges Muster, dass ein Hilfsprogramm bereitgestellt wird.

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

Fügt der Zusagenkette für Tests einen Schritt hinzu then() .

Details zur Eigenschaft

previous

previous: Promise<void>

Eigenschaftswert

Promise<void>

Details zur Methode

assertNoReply(string, number)

Generiert eine Assertion, die von der Turnverarbeitungslogik nicht wie erwartet eine Antwort vom Bot generiert wurde.

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

Parameter

description

string

(Optional) Beschreibung des Testfalls. Wenn nicht angegeben, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort des Bots gewartet werden soll. Der Standardwert 3000ist .

Gibt zurück

Ein neues TestFlow-Objekt , das diesen Austausch an den modellierten Austausch anhängt.

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

Erwarteter Text oder Aktivität vom Bot. Dies kann ein Rückruf sein, um die Antwort mithilfe einer benutzerdefinierten Logik zu überprüfen.

description

string

(Optional) Beschreibung des Testfalls. Wenn nicht angegeben, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort des Bots gewartet werden soll. Der Standardwert 3000ist .

Gibt zurück

Ein neues TestFlow-Objekt , das diesen Austausch an den modellierten Austausch anhängt.

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 nicht angegeben, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort des Bots gewartet werden soll. Der Standardwert 3000ist .

Gibt zurück

Ein neues TestFlow-Objekt , das diesen Austausch an den modellierten Austausch anhängt.

catch((reason: any) => void)

Fügt der Zusagenkette für Tests eine -Klausel hinzu catch() .

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 Austausch anhängt.

delay(number)

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

function delay(ms: number): TestFlow

Parameter

ms

number

ms, um zu warten.

Gibt zurück

Ein neues TestFlow-Objekt , das diesen Austausch an den modellierten Austausch anhängt.

finally(() => void)

Fügt eine Finally-Klausel hinzu. Beachten Sie, dass Die Verkettung danach nicht mehr möglich ist.

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, die Benutzereingaben simuliert.

Gibt zurück

Ein neues TestFlow-Objekt , das diesen Austausch an den modellierten Austausch anhängt.

sendConversationUpdate()

Erstellt eine Konversationsaktualisierungsaktivität 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ückgibt. Dies ist einfach ein Wrapper um Aufrufe von send() und assertReply(). Dies ist ein so häufiges Muster, dass 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, die Benutzereingaben simuliert.

expected

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

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

description

string

(Optional) Beschreibung des Testfalls. Wenn nicht angegeben, wird eine generiert.

timeout

number

(Optional) Anzahl von Millisekunden, die auf eine Antwort des Bots gewartet werden soll. Der Standardwert 3000ist .

Gibt zurück

Ein neues TestFlow-Objekt , das diesen Austausch an den modellierten Austausch anhängt.

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

Fügt der Zusagenkette für Tests einen Schritt hinzu then() .

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

Parameter

onFulfilled

() => void

Code, der ausgeführt werden soll, wenn der Test gerade erfolgreich ist.

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 Austausch anhängt.