Condividi tramite


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

assertNoReply(string, number)

Genera un'asserzione che la logica di elaborazione dei turni non ha generato una risposta dal bot, come previsto.

assertReply(string | Partial<Activity> | TestActivityInspector, string, number)

Genera un'asserzione se la risposta dei bot non corrisponde al testo o all'attività prevista.

assertReplyOneOf(string[], string, number)

Genera un'asserzione se la risposta dei bot non è una delle stringhe candidate.

catch((reason: any) => void)

Aggiunge una clausola catch() alla catena di promesse dei test.

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.

sendConversationUpdate()

Crea un'attività di aggiornamento della conversazione ed elabora l'attività.

startTest()

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 send() e assertReply(). Si tratta di un modello così comune fornito da un helper.

then(() => void, (err: any) => void)

Aggiunge un passaggio then() alla catena di promesse dei test.

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.