TestFlow class
Classe de prise en charge pour TestAdapter
qui permet la construction simple d’une séquence de tests.
Remarques
L’appel adapter.send()
ou adapter.test()
crée un nouveau flux de test que vous pouvez regrouper des tests supplémentaires à l’aide d’une syntaxe Fluent.
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());
Propriétés
previous |
Méthodes
assert |
Génère une assertion selon laquelle la logique de traitement des tours n’a pas généré de réponse à partir du bot, comme prévu. |
assert |
Génère une assertion si la réponse des bots ne correspond pas au texte/à l’activité attendue. |
assert |
Génère une assertion si la réponse des bots n’est pas l’une des chaînes candidates. |
catch((reason: any) => void) | Ajoute une |
delay(number) | Insère un délai avant de continuer. |
finally(() => void) | Ajoute une clause de fin. Notez que vous ne pouvez pas continuer à chaîner par la suite. |
send(string | Partial<Activity>) | Envoie quelque chose au bot. |
send |
Crée une activité de mise à jour de conversation et traite l’activité. |
start |
Démarrez la séquence de test, en retournant une promesse à attendre. |
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number) | Envoyez quelque chose au bot et s’attend à ce qu’il retourne avec une réponse donnée. Il s’agit simplement d’un wrapper autour des appels à |
then(() => void, (err: any) => void) | Ajoute une |
Détails de la propriété
previous
previous: Promise<void>
Valeur de propriété
Promise<void>
Détails de la méthode
assertNoReply(string, number)
Génère une assertion selon laquelle la logique de traitement des tours n’a pas généré de réponse à partir du bot, comme prévu.
function assertNoReply(description?: string, timeout?: number): TestFlow
Paramètres
- description
-
string
(Facultatif) Description du cas de test. S’il n’est pas fourni, un sera généré.
- timeout
-
number
(Facultatif) nombre de millisecondes à attendre pour obtenir une réponse du bot. Par défaut, la valeur est 3000
.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.
assertReply(string | Partial<Activity> | TestActivityInspector, string, number)
Génère une assertion si la réponse des bots ne correspond pas au texte/à l’activité attendue.
function assertReply(expected: string | Partial<Activity> | TestActivityInspector, description?: string, timeout?: number): TestFlow
Paramètres
- expected
-
string | Partial<Activity> | TestActivityInspector
Texte ou activité attendu du bot. Il peut s’agir d’un rappel pour inspecter la réponse à l’aide d’une logique personnalisée.
- description
-
string
(Facultatif) Description du cas de test. S’il n’est pas fourni, un sera généré.
- timeout
-
number
(Facultatif) nombre de millisecondes à attendre pour obtenir une réponse du bot. Par défaut, la valeur est 3000
.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.
assertReplyOneOf(string[], string, number)
Génère une assertion si la réponse des bots n’est pas l’une des chaînes candidates.
function assertReplyOneOf(candidates: string[], description?: string, timeout?: number): TestFlow
Paramètres
- candidates
-
string[]
Liste des réponses des candidats.
- description
-
string
(Facultatif) Description du cas de test. S’il n’est pas fourni, un sera généré.
- timeout
-
number
(Facultatif) nombre de millisecondes à attendre pour obtenir une réponse du bot. Par défaut, la valeur est 3000
.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.
catch((reason: any) => void)
Ajoute une catch()
clause à la chaîne de promesse de tests.
function catch(onRejected?: (reason: any) => void): TestFlow
Paramètres
- onRejected
-
(reason: any) => void
Code à exécuter si le test a lève une erreur.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.
delay(number)
Insère un délai avant de continuer.
function delay(ms: number): TestFlow
Paramètres
- ms
-
number
ms d’attendre.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.
finally(() => void)
Ajoute une clause de fin. Notez que vous ne pouvez pas continuer à chaîner par la suite.
function finally(onFinally: () => void): Promise<void>
Paramètres
- onFinally
-
() => void
Code à exécuter après la chaîne de test.
Retours
Promise<void>
Promesse représentant l’opération asynchrone.
send(string | Partial<Activity>)
Envoie quelque chose au bot.
function send(userSays: string | Partial<Activity>): TestFlow
Paramètres
- userSays
-
string | Partial<Activity>
Texte ou activité simulant une entrée utilisateur.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.
sendConversationUpdate()
Crée une activité de mise à jour de conversation et traite l’activité.
function sendConversationUpdate(): TestFlow
Retours
Nouvel objet TestFlow.
startTest()
Démarrez la séquence de test, en retournant une promesse à attendre.
function startTest(): Promise<void>
Retours
Promise<void>
Promesse représentant l’opération asynchrone.
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)
Envoyez quelque chose au bot et s’attend à ce qu’il retourne avec une réponse donnée. Il s’agit simplement d’un wrapper autour des appels à send()
et assertReply()
. Il s’agit d’un modèle si courant qu’une assistance est fournie.
function test(userSays: string | Partial<Activity>, expected: string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, description?: string, timeout?: number): TestFlow
Paramètres
- userSays
-
string | Partial<Activity>
Texte ou activité simulant une entrée utilisateur.
- expected
-
string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void
Texte ou activité attendu de la réponse envoyée par le bot.
- description
-
string
(Facultatif) Description du cas de test. S’il n’est pas fourni, un sera généré.
- timeout
-
number
(Facultatif) nombre de millisecondes à attendre pour obtenir une réponse du bot. Par défaut, la valeur est 3000
.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.
then(() => void, (err: any) => void)
Ajoute une then()
étape à la chaîne de promesse de tests.
function then(onFulfilled?: () => void, onRejected?: (err: any) => void): TestFlow
Paramètres
- onFulfilled
-
() => void
Code à exécuter si le test est actuellement réussi.
- onRejected
-
(err: any) => void
Code à exécuter si le test a lève une erreur.
Retours
Nouvel objet TestFlow qui ajoute cet échange à l’échange modélisé.