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.