TestFlow class
Classe di supporto per TestAdapter che consente la semplice costruzione di una sequenza di test.
Commenti
Chiamando adapter.send() o adapter.test() verrà creato un nuovo flusso di test che è possibile concatenare altri test usando una sintassi fluente.
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());
Proprietà
| previous |
Metodi
| assert |
Genera un'asserzione che la logica di elaborazione dei turni non ha generato una risposta dal bot, come previsto. |
| assert |
Genera un'asserzione se la risposta dei bot non corrisponde al testo o all'attività prevista. |
| assert |
Genera un'asserzione se la risposta dei bot non è una delle stringhe candidate. |
| catch((reason: any) => void) | Aggiunge una clausola |
| delay(number) | Inserisce un ritardo prima di continuare. |
| finally(() => void) | Aggiunge una clausola finally. Si noti che non è possibile continuare a concatenare in seguito. |
| send(string | Partial<Activity>) | Invia qualcosa al bot. |
| send |
Crea un'attività di aggiornamento della conversazione ed elabora l'attività. |
| start |
Avviare la sequenza di test, restituendo una promessa da attendere. |
| test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number) | Inviare un elemento al bot e si prevede che il bot restituisca una risposta specifica. Si tratta semplicemente di un wrapper per le chiamate a |
| then(() => void, (err: any) => void) | Aggiunge un passaggio |
Dettagli proprietà
previous
previous: Promise<void>
Valore della proprietà
Promise<void>
Dettagli metodo
assertNoReply(string, number)
Genera un'asserzione che la logica di elaborazione dei turni non ha generato una risposta dal bot, come previsto.
function assertNoReply(description?: string, timeout?: number): TestFlow
Parametri
- description
-
string
(Facoltativo) Descrizione del test case. Se non ne viene specificato uno, verrà generato.
- timeout
-
number
(Facoltativo) numero di millisecondi per attendere una risposta dal bot. Il valore predefinito è 3000.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.
assertReply(string | Partial<Activity> | TestActivityInspector, string, number)
Genera un'asserzione se la risposta dei bot non corrisponde al testo o all'attività prevista.
function assertReply(expected: string | Partial<Activity> | TestActivityInspector, description?: string, timeout?: number): TestFlow
Parametri
- expected
-
string | Partial<Activity> | TestActivityInspector
Testo o attività previsti dal bot. Può essere un callback per esaminare la risposta usando la logica personalizzata.
- description
-
string
(Facoltativo) Descrizione del test case. Se non ne viene specificato uno, verrà generato.
- timeout
-
number
(Facoltativo) numero di millisecondi per attendere una risposta dal bot. Il valore predefinito è 3000.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.
assertReplyOneOf(string[], string, number)
Genera un'asserzione se la risposta dei bot non è una delle stringhe candidate.
function assertReplyOneOf(candidates: string[], description?: string, timeout?: number): TestFlow
Parametri
- candidates
-
string[]
Elenco di risposte candidate.
- description
-
string
(Facoltativo) Descrizione del test case. Se non ne viene specificato uno, verrà generato.
- timeout
-
number
(Facoltativo) numero di millisecondi per attendere una risposta dal bot. Il valore predefinito è 3000.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.
catch((reason: any) => void)
Aggiunge una clausola catch() alla catena di promesse dei test.
function catch(onRejected?: (reason: any) => void): TestFlow
Parametri
- onRejected
-
(reason: any) => void
Codice da eseguire se il test ha generato un errore.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.
delay(number)
Inserisce un ritardo prima di continuare.
function delay(ms: number): TestFlow
Parametri
- ms
-
number
ms di aspettare.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.
finally(() => void)
Aggiunge una clausola finally. Si noti che non è possibile continuare a concatenare in seguito.
function finally(onFinally: () => void): Promise<void>
Parametri
- onFinally
-
() => void
Codice da eseguire dopo la catena di test.
Restituisce
Promise<void>
Promessa che rappresenta l'operazione asincrona.
send(string | Partial<Activity>)
Invia qualcosa al bot.
function send(userSays: string | Partial<Activity>): TestFlow
Parametri
- userSays
-
string | Partial<Activity>
Testo o attività che simulano l'input dell'utente.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.
sendConversationUpdate()
Crea un'attività di aggiornamento della conversazione ed elabora l'attività.
function sendConversationUpdate(): TestFlow
Restituisce
Nuovo oggetto TestFlow.
startTest()
Avviare la sequenza di test, restituendo una promessa da attendere.
function startTest(): Promise<void>
Restituisce
Promise<void>
Promessa che rappresenta l'operazione asincrona.
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)
Inviare un elemento al bot e si prevede che il bot restituisca una risposta specifica. Si tratta semplicemente di un wrapper per le chiamate a send() e assertReply(). Si tratta di un modello così comune fornito da un helper.
function test(userSays: string | Partial<Activity>, expected: string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, description?: string, timeout?: number): TestFlow
Parametri
- userSays
-
string | Partial<Activity>
Testo o attività che simulano l'input dell'utente.
- expected
-
string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void
Testo o attività previsti della risposta inviata dal bot.
- description
-
string
(Facoltativo) Descrizione del test case. Se non ne viene specificato uno, verrà generato.
- timeout
-
number
(Facoltativo) numero di millisecondi per attendere una risposta dal bot. Il valore predefinito è 3000.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.
then(() => void, (err: any) => void)
Aggiunge un passaggio then() alla catena di promesse dei test.
function then(onFulfilled?: () => void, onRejected?: (err: any) => void): TestFlow
Parametri
- onFulfilled
-
() => void
Codice da eseguire se il test è attualmente superato.
- onRejected
-
(err: any) => void
Codice da eseguire se il test ha generato un errore.
Restituisce
Nuovo oggetto TestFlow che accoda questo scambio allo scambio modellato.