TestFlow class
Classe de suporte para TestAdapter
que permite a construção simples de uma sequência de testes.
Comentários
Chamar adapter.send()
ou adapter.test()
criará um novo fluxo de teste que você pode encadear testes adicionais usando uma sintaxe 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());
Propriedades
previous |
Métodos
assert |
Gera uma afirmação de que a lógica de processamento de turnos não gerou uma resposta do bot, conforme o esperado. |
assert |
Gerará uma declaração se a resposta dos bots não corresponder ao texto/atividade esperado. |
assert |
Gerará uma declaração se a resposta de bots não for uma das cadeias de caracteres candidatas. |
catch((reason: any) => void) | Adiciona uma cláusula |
delay(number) | Insere um atraso antes de continuar. |
finally(() => void) | Adiciona uma cláusula finally. Observe que você não pode continuar encadeando depois. |
send(string | Partial<Activity>) | Envia algo para o bot. |
send |
Cria uma atividade de atualização de conversa e processa a atividade. |
start |
Inicie a sequência de testes, retornando uma promessa de aguardar. |
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number) | Envie algo para o bot e espera que o bot retorne com uma determinada resposta. Isso é simplesmente um wrapper em torno de chamadas para |
then(() => void, (err: any) => void) | Adiciona uma etapa |
Detalhes da propriedade
previous
previous: Promise<void>
Valor da propriedade
Promise<void>
Detalhes do método
assertNoReply(string, number)
Gera uma afirmação de que a lógica de processamento de turnos não gerou uma resposta do bot, conforme o esperado.
function assertNoReply(description?: string, timeout?: number): TestFlow
Parâmetros
- description
-
string
(Opcional) Descrição do caso de teste. Se não for fornecido, um será gerado.
- timeout
-
number
(Opcional) número de milissegundos para aguardar uma resposta do bot. O padrão é um valor de 3000
.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
assertReply(string | Partial<Activity> | TestActivityInspector, string, number)
Gerará uma declaração se a resposta dos bots não corresponder ao texto/atividade esperado.
function assertReply(expected: string | Partial<Activity> | TestActivityInspector, description?: string, timeout?: number): TestFlow
Parâmetros
- expected
-
string | Partial<Activity> | TestActivityInspector
Texto ou atividade esperado do bot. Pode ser um retorno de chamada para inspecionar a resposta usando a lógica personalizada.
- description
-
string
(Opcional) Descrição do caso de teste. Se não for fornecido, um será gerado.
- timeout
-
number
(Opcional) número de milissegundos para aguardar uma resposta do bot. O padrão é um valor de 3000
.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
assertReplyOneOf(string[], string, number)
Gerará uma declaração se a resposta de bots não for uma das cadeias de caracteres candidatas.
function assertReplyOneOf(candidates: string[], description?: string, timeout?: number): TestFlow
Parâmetros
- candidates
-
string[]
Lista de respostas de candidatos.
- description
-
string
(Opcional) Descrição do caso de teste. Se não for fornecido, um será gerado.
- timeout
-
number
(Opcional) número de milissegundos para aguardar uma resposta do bot. O padrão é um valor de 3000
.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
catch((reason: any) => void)
Adiciona uma cláusula catch()
à cadeia de promessas de testes.
function catch(onRejected?: (reason: any) => void): TestFlow
Parâmetros
- onRejected
-
(reason: any) => void
Código a ser executado se o teste tiver gerado um erro.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
delay(number)
Insere um atraso antes de continuar.
function delay(ms: number): TestFlow
Parâmetros
- ms
-
number
ms para esperar.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
finally(() => void)
Adiciona uma cláusula finally. Observe que você não pode continuar encadeando depois.
function finally(onFinally: () => void): Promise<void>
Parâmetros
- onFinally
-
() => void
Código a ser executado após a cadeia de teste.
Retornos
Promise<void>
Uma promessa que representa a operação assíncrona.
send(string | Partial<Activity>)
Envia algo para o bot.
function send(userSays: string | Partial<Activity>): TestFlow
Parâmetros
- userSays
-
string | Partial<Activity>
Texto ou atividade simulando a entrada do usuário.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
sendConversationUpdate()
Cria uma atividade de atualização de conversa e processa a atividade.
function sendConversationUpdate(): TestFlow
Retornos
Um novo objeto TestFlow.
startTest()
Inicie a sequência de testes, retornando uma promessa de aguardar.
function startTest(): Promise<void>
Retornos
Promise<void>
Uma promessa que representa a operação assíncrona.
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)
Envie algo para o bot e espera que o bot retorne com uma determinada resposta. Isso é simplesmente um wrapper em torno de chamadas para send()
e assertReply()
. Esse é um padrão tão comum que um auxiliar é fornecido.
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 ou atividade simulando a entrada do usuário.
- expected
-
string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void
Texto ou atividade esperado da resposta enviada pelo bot.
- description
-
string
(Opcional) Descrição do caso de teste. Se não for fornecido, um será gerado.
- timeout
-
number
(Opcional) número de milissegundos para aguardar uma resposta do bot. O padrão é um valor de 3000
.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
then(() => void, (err: any) => void)
Adiciona uma etapa then()
à cadeia de promessas de testes.
function then(onFulfilled?: () => void, onRejected?: (err: any) => void): TestFlow
Parâmetros
- onFulfilled
-
() => void
Código a ser executado se o teste estiver sendo aprovado no momento.
- onRejected
-
(err: any) => void
Código a ser executado se o teste tiver gerado um erro.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.