TestFlow class

Clase de soporte para TestAdapter que permite la construcción simple de una secuencia de pruebas.

Comentarios

Al llamar a adapter.send() o adapter.test() se creará un nuevo flujo de prueba que puede encadenar pruebas adicionales mediante una sintaxis fluida.

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());

Propiedades

previous

Métodos

assertNoReply(string, number)

Genera una aserción que la lógica de procesamiento de turnos no generó una respuesta del bot, según lo previsto.

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

Genera una aserción si la respuesta de los bots no coincide con el texto o la actividad esperados.

assertReplyOneOf(string[], string, number)

Genera una aserción si la respuesta de los bots no es una de las cadenas candidatas.

catch((reason: any) => void)

Agrega una cláusula catch() a la cadena de promesas de pruebas.

delay(number)

Inserta un retraso antes de continuar.

finally(() => void)

Agrega una cláusula finally. Tenga en cuenta que no puede mantener el encadenamiento después.

send(string | Partial<Activity>)

Envía algo al bot.

sendConversationUpdate()

Crea una actividad de actualización de conversación y procesa la actividad.

startTest()

Inicie la secuencia de pruebas y devuelva una promesa de esperar.

test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)

Envíe algo al bot y espera que el bot vuelva con una respuesta determinada. Esto es simplemente un contenedor en torno a las llamadas a send() y assertReply(). Este es un patrón tan común que se proporciona un asistente.

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

Agrega un paso then() a la cadena de promesas de pruebas.

Detalles de las propiedades

previous

previous: Promise<void>

Valor de propiedad

Promise<void>

Detalles del método

assertNoReply(string, number)

Genera una aserción que la lógica de procesamiento de turnos no generó una respuesta del bot, según lo previsto.

function assertNoReply(description?: string, timeout?: number): TestFlow

Parámetros

description

string

(Opcional) Descripción del caso de prueba. Si no se proporciona, se generará uno.

timeout

number

(Opcional) número de milisegundos para esperar una respuesta del bot. El valor predeterminado es 3000.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.

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

Genera una aserción si la respuesta de los bots no coincide con el texto o la actividad esperados.

function assertReply(expected: string | Partial<Activity> | TestActivityInspector, description?: string, timeout?: number): TestFlow

Parámetros

expected

string | Partial<Activity> | TestActivityInspector

Texto o actividad esperados del bot. Puede ser una devolución de llamada para inspeccionar la respuesta mediante la lógica personalizada.

description

string

(Opcional) Descripción del caso de prueba. Si no se proporciona, se generará uno.

timeout

number

(Opcional) número de milisegundos para esperar una respuesta del bot. El valor predeterminado es 3000.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.

assertReplyOneOf(string[], string, number)

Genera una aserción si la respuesta de los bots no es una de las cadenas candidatas.

function assertReplyOneOf(candidates: string[], description?: string, timeout?: number): TestFlow

Parámetros

candidates

string[]

Lista de respuestas candidatas.

description

string

(Opcional) Descripción del caso de prueba. Si no se proporciona, se generará uno.

timeout

number

(Opcional) número de milisegundos para esperar una respuesta del bot. El valor predeterminado es 3000.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.

catch((reason: any) => void)

Agrega una cláusula catch() a la cadena de promesas de pruebas.

function catch(onRejected?: (reason: any) => void): TestFlow

Parámetros

onRejected

(reason: any) => void

Código que se va a ejecutar si la prueba ha producido un error.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.

delay(number)

Inserta un retraso antes de continuar.

function delay(ms: number): TestFlow

Parámetros

ms

number

ms para esperar.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.

finally(() => void)

Agrega una cláusula finally. Tenga en cuenta que no puede mantener el encadenamiento después.

function finally(onFinally: () => void): Promise<void>

Parámetros

onFinally

() => void

Código que se ejecutará después de la cadena de pruebas.

Devoluciones

Promise<void>

Promesa que representa la operación asincrónica.

send(string | Partial<Activity>)

Envía algo al bot.

function send(userSays: string | Partial<Activity>): TestFlow

Parámetros

userSays

string | Partial<Activity>

Texto o actividad simulando la entrada del usuario.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.

sendConversationUpdate()

Crea una actividad de actualización de conversación y procesa la actividad.

function sendConversationUpdate(): TestFlow

Devoluciones

Nuevo objeto TestFlow.

startTest()

Inicie la secuencia de pruebas y devuelva una promesa de esperar.

function startTest(): Promise<void>

Devoluciones

Promise<void>

Promesa que representa la operación asincrónica.

test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)

Envíe algo al bot y espera que el bot vuelva con una respuesta determinada. Esto es simplemente un contenedor en torno a las llamadas a send() y assertReply(). Este es un patrón tan común que se proporciona un asistente.

function test(userSays: string | Partial<Activity>, expected: string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, description?: string, timeout?: number): TestFlow

Parámetros

userSays

string | Partial<Activity>

Texto o actividad simulando la entrada del usuario.

expected

string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void

Texto o actividad esperados de la respuesta enviada por el bot.

description

string

(Opcional) Descripción del caso de prueba. Si no se proporciona, se generará uno.

timeout

number

(Opcional) número de milisegundos para esperar una respuesta del bot. El valor predeterminado es 3000.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.

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

Agrega un paso then() a la cadena de promesas de pruebas.

function then(onFulfilled?: () => void, onRejected?: (err: any) => void): TestFlow

Parámetros

onFulfilled

() => void

Código que se va a ejecutar si la prueba se está pasando actualmente.

onRejected

(err: any) => void

Código que se va a ejecutar si la prueba ha producido un error.

Devoluciones

Nuevo TestFlow objeto que anexa este intercambio al intercambio modelado.