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
assert |
Generiert eine Assertion, dass die Turn-Verarbeitungslogik keine Antwort vom Bot generiert hat, wie erwartet. |
assert |
Generiert eine Assertion, wenn die Bots-Antwort nicht mit dem erwarteten Text/der erwarteten Aktivität übereinstimmt. |
assert |
Generiert eine Assertion, wenn die Bots-Antwort keine der Kandidatenzeichenfolgen ist. |
catch((reason: any) => void) | Fügt der Testzusagekette eine |
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. |
send |
Erstellt eine Aktivität zum Aktualisieren einer Unterhaltung und verarbeitet die Aktivität. |
start |
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 |
then(() => void, (err: any) => void) | Fügt der Testzusagekette einen |
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.