Тестирование сценария бота
Прежде чем опубликовать бота протестируем его, убедимся, что не совершили ошибок в процессе написания сценария. Затем с помощью тестового виджета поиграем в созданную игру и проверим, что переходы в сценарии работают корректно.
Тестирование .xml
Напишем простой тест, охватывающий переходы по стейтам для бота. Для этого создайте файл text.xml, в папке test и напишите следующий тест:
<test>
<test-case id="1">
<q>/start</q>
<a>Привет! Предлагаю сыграть в игру "Города". Кто загадывает город: компьютер или пользователь?</a>
<q>я</q>
<a>Назовите город</a>
<q>Москва</q>
<a state="/LetsPlayCitiesGame/CityPattern"></a>
</test-case>
<test-case id="2">
<q>/start</q>
<a>Привет! Предлагаю сыграть в игру "Города". Кто загадывает город: компьютер или пользователь?</a>
<q>не я</q>
<a state="/start/Computer"></a>
<a state="/LetsPlayCitiesGame"></a>
</test-case>
<test-case id="3">
<state>LetsPlayCitiesGame</state>
<q>сдаюсь</q>
<a>Очень жаль! Если передумаешь — скажи "давай поиграем"</a>
<q>играть</q>
<a>Привет! Предлагаю сыграть в игру "Города". Кто загадывает город: компьютер или пользователь?</a>
</test-case>
<test-case id="4">
<q>/start</q>
<a>Привет! Предлагаю сыграть в игру "Города". Кто загадывает город: компьютер или пользователь?</a>
<q>не ты</q>
<a>Назовите город</a>
<q>Спб</q>
<a>Используйте только полные названия городов</a>
</test-case>
</test>
Нажмите на иконку , расположенную справа на верхней панели, для сохранения написанного сценария.
Каждый test-case проверяет, соответствует ли реальный ответ бота ожидаемому. Реплика пользователя обозначается тегом <q>, а реакция <a>.
Каждому test-case можно присвоить свой идентификатор id:
<test-case id="1">— проверяем начало игры и решение пользователя начинать игру первым.<test-case id="2">— проверяем корректность перехода в стейт/LetsPlayCitiesGameесли пользователь введет сообщениене я.<test-case id="3">— проверяем переходы между стейтами, если пользователь сначала захочет выйти из игры, а потом начать ее вновь.<test-case id="4">— проверяем, можно ли ввести короткое название города.
подсказка
Подробнее о тестах сценария бота
Тестирование с помощью тестового виджета
- Пользователь начинает игру:

- Бот начинает игру:

- Назовем город, который был уже ранее использован, а затем несуществующий город:

- Используем короткое название города:

- Попробуем завершить игру и начать ее снова:

Теперь подключите самостоятельно канал и поиграйте с ботом.