Недавно у меня появилась идея создать более простой для понимания пакет тестирования для сценариев Hubot.Я создал модуль hubot-chat-testing , где пользователь может использовать специальный API, который генерирует expect
утверждения под капотом.
Тем не менее, я не знаю, как полностьюпротестируйте его.
Я написал технические тесты для проверки работы механизма (добавление новых сообщений, ответов ботов и т. д.).
В качестве тестов для конечных пользователей я реализовал тесты в своем API из hubot-hello (ответы ботов) и hubot-sayings (бот-мозг).Как вы можете видеть, я написал тесты типа «когда пользователь пишет правильную историю чата, модуль не должен возвращать ошибок», но как мне написать тесты типа «когда пользователь делает какую-то ошибку / сообщение в истории чата делаетне совпадает, модуль должен выйти из строя "?
Я нашел метод fail библиотеки Chai, но он не совсем соответствует моим потребностям, так как я должен был бы сделать что-то вродеthis:
function someFailingFunction(){
chat.when('user says hi')
.user('username').messagesBot('hi')
.bot.repliesWith('false message, i will not greet you')
.expect('the bot should say hi to the user')
}
expect(someFailingFunction).to.fail('The message in the chat history does not match')
Это вообще возможно или мне нужно использовать другую библиотеку тестирования?
ОБНОВЛЕНИЕ
Я добавил тесты, который охватывает функциональность, которую я хотел бы проверить.А пока я раскомментирую их вручную, просто чтобы проверить, все ли сбои с правильным ответом - это то, что я хочу автоматизировать.