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
assert |
Generiert eine Assertion, die von der Turnverarbeitungslogik nicht wie erwartet eine Antwort vom Bot generiert wurde. |
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 Zusagenkette für Tests eine -Klausel hinzu |
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. |
send |
Erstellt eine Konversationsaktualisierungsaktivität 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ückgibt. Dies ist einfach ein Wrapper um Aufrufe von |
then(() => void, (err: any) => void) | Fügt der Zusagenkette für Tests einen Schritt hinzu |
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 3000
ist .
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 3000
ist .
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 3000
ist .
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 3000
ist .
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.