Compartilhar via


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

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.

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

Gerará uma declaração se a resposta dos bots não corresponder ao texto/atividade esperado.

assertReplyOneOf(string[], string, number)

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 catch() à cadeia de promessas de testes.

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.

sendConversationUpdate()

Cria uma atividade de atualização de conversa e processa a atividade.

startTest()

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 send() e assertReply(). Esse é um padrão tão comum que um auxiliar é fornecido.

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

Adiciona uma etapa then() à cadeia de promessas de testes.

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.