TestFlow class
Класс поддержки для TestAdapter
, который позволяет создать простую последовательность тестов.
Комментарии
Вызов adapter.send()
или adapter.test()
создаст новый поток тестирования, который можно объединить в цепочку дополнительных тестов с помощью синтаксического синтаксиса.
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());
Свойства
previous |
Методы
assert |
Создает утверждение о том, что логика обработки поворота не создавала ответ от бота, как ожидалось. |
assert |
Создает утверждение, если ответ ботов не соответствует ожидаемому тексту или активности. |
assert |
Создает утверждение, если ответ ботов не является одной из строк кандидата. |
catch((reason: any) => void) | Добавляет предложение |
delay(number) | Вставляет задержку перед продолжением. |
finally(() => void) | Добавляет предложение, наконец, Обратите внимание, что вы не можете продолжать цепочку после этого. |
send(string | Partial<Activity>) | Отправляет что-то боту. |
send |
Создает действие обновления беседы и обрабатывает действие. |
start |
Запустите последовательность тестов, возвращая обещание ожидать. |
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number) | Отправьте что-то боту и ожидает, что бот возвращается с заданным ответом. Это просто оболочка для вызовов |
then(() => void, (err: any) => void) | Добавляет |
Сведения о свойстве
previous
previous: Promise<void>
Значение свойства
Promise<void>
Сведения о методе
assertNoReply(string, number)
Создает утверждение о том, что логика обработки поворота не создавала ответ от бота, как ожидалось.
function assertNoReply(description?: string, timeout?: number): TestFlow
Параметры
- description
-
string
(Необязательно) Описание тестового случая. Если он не указан, будет создан.
- timeout
-
number
(Необязательно) число миллисекунда, чтобы ждать ответа от бота. По умолчанию используется значение 3000
.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.
assertReply(string | Partial<Activity> | TestActivityInspector, string, number)
Создает утверждение, если ответ ботов не соответствует ожидаемому тексту или активности.
function assertReply(expected: string | Partial<Activity> | TestActivityInspector, description?: string, timeout?: number): TestFlow
Параметры
- expected
-
string | Partial<Activity> | TestActivityInspector
Ожидаемый текст или действие бота. Может быть обратным вызовом для проверки ответа с помощью пользовательской логики.
- description
-
string
(Необязательно) Описание тестового случая. Если он не указан, будет создан.
- timeout
-
number
(Необязательно) число миллисекунда, чтобы ждать ответа от бота. По умолчанию используется значение 3000
.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.
assertReplyOneOf(string[], string, number)
Создает утверждение, если ответ ботов не является одной из строк кандидата.
function assertReplyOneOf(candidates: string[], description?: string, timeout?: number): TestFlow
Параметры
- candidates
-
string[]
Список ответов кандидата.
- description
-
string
(Необязательно) Описание тестового случая. Если он не указан, будет создан.
- timeout
-
number
(Необязательно) число миллисекунда, чтобы ждать ответа от бота. По умолчанию используется значение 3000
.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.
catch((reason: any) => void)
Добавляет предложение catch()
в цепочку обещаний тестов.
function catch(onRejected?: (reason: any) => void): TestFlow
Параметры
- onRejected
-
(reason: any) => void
Код для запуска, если тест создал ошибку.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.
delay(number)
Вставляет задержку перед продолжением.
function delay(ms: number): TestFlow
Параметры
- ms
-
number
ms to wait.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.
finally(() => void)
Добавляет предложение, наконец, Обратите внимание, что вы не можете продолжать цепочку после этого.
function finally(onFinally: () => void): Promise<void>
Параметры
- onFinally
-
() => void
Код для запуска после цепочки тестов.
Возвращаемое значение
Promise<void>
Обещание, представляющее асинхронную операцию.
send(string | Partial<Activity>)
Отправляет что-то боту.
function send(userSays: string | Partial<Activity>): TestFlow
Параметры
- userSays
-
string | Partial<Activity>
Текст или действие, имитация ввода пользователем.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.
sendConversationUpdate()
Создает действие обновления беседы и обрабатывает действие.
function sendConversationUpdate(): TestFlow
Возвращаемое значение
Новый объект TestFlow.
startTest()
Запустите последовательность тестов, возвращая обещание ожидать.
function startTest(): Promise<void>
Возвращаемое значение
Promise<void>
Обещание, представляющее асинхронную операцию.
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)
Отправьте что-то боту и ожидает, что бот возвращается с заданным ответом. Это просто оболочка для вызовов send()
и assertReply()
. Это такой распространенный шаблон, который предоставляется вспомогательным.
function test(userSays: string | Partial<Activity>, expected: string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, description?: string, timeout?: number): TestFlow
Параметры
- userSays
-
string | Partial<Activity>
Текст или действие, имитация ввода пользователем.
- expected
-
string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void
Ожидаемый текст или действие ответа, отправленного ботом.
- description
-
string
(Необязательно) Описание тестового случая. Если он не указан, будет создан.
- timeout
-
number
(Необязательно) число миллисекунда, чтобы ждать ответа от бота. По умолчанию используется значение 3000
.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.
then(() => void, (err: any) => void)
Добавляет then()
шаг в цепочку обещаний тестов.
function then(onFulfilled?: () => void, onRejected?: (err: any) => void): TestFlow
Параметры
- onFulfilled
-
() => void
Код для запуска, если тест в настоящее время передается.
- onRejected
-
(err: any) => void
Код для запуска, если тест создал ошибку.
Возвращаемое значение
Новый объект TestFlow, который добавляет этот обмен к моделиируемой обмену.