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
assert |
Genera una aserción que la lógica de procesamiento de turnos no generó una respuesta del bot, según lo previsto. |
assert |
Genera una aserción si la respuesta de los bots no coincide con el texto o la actividad esperados. |
assert |
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 |
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. |
send |
Crea una actividad de actualización de conversación y procesa la actividad. |
start |
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 |
then(() => void, (err: any) => void) | Agrega un paso |
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.