Теги, используемые в тестах
Тест — это набор тест-кейсов, каждый из которых имитирует отдельный диалог.
Тест-кейсы находятся внутри корневого тега <test>
…</test>
.
Сами тест-кейсы указываются внутри тегов <test-case>
…</test-case>
. В тест-кейсах используются специальные теги, некоторые из которых повторяют теги JAICP DSL.
Теги для тест-кейсов
Тег | Описание |
---|---|
<a> | Проверяет: • наличие ответа от бота; • текст ответа; • состояние, в котором ответ был сгенериров ан; • состояние, с которого началось выполнение сценария. |
<context> | Устанавливает значения переменных $client и $session в тестах. |
<dateTime> | Переопределяет дату и время, с которой будут работать функции JS API, такие как currentTime , dateForZone , timeForZone . |
<event> | Эмулирует отправку события боту. |
<mail> | Проверяет использование сервиса $mail . |
<mockData> | Позволяет задать заглушки ответов (мок-объекты) на HTTP-запросы из сценария бота. |
<mockService> | Позволяет задать заглушки ответов на запросы к методам интеграций с внешними сервисами. |
<newSession> | Проверяет наличие и параметры реакции newSession . |
<q> | Эмулирует отправку текстового сообщения боту пользователем. |
<random> | Задает числа, которые будут возвращаться функцией random в JS API. |
<rawRequest> | Позволяет передать структуру $request.rawRequest , в которую обычно сохраняется дамп запроса. |
<request> | Позволяет передать полный объект запроса и может использоваться для передачи любых параметров запроса. |
<requestData> | Позволяет передавать параметры запроса. |
<responseData> | Проверяет на соответствие поля объекта $response.data . Проверяются только поля, указанные внутри тела тега. |
<state> | Принудительно переводит контекст диалога в указанное состояние. Все действия, производимые после использования тега, будут рассматриваться в контексте указанного состояния. |
<timeout> | Эмулирует бездействие пользователя в течение времени, заданного ранее в сценар ии реакцией timeout . |
<timeoutReply> | Проверяет наличие и параметры реакции timeout . |