Я тестирую своего бота, используя Mocha и Chai (режим BDD).
Я хочу прослушать источник событий, чтобы проверить, какой ответ я получил, и подтвердить, имеет ли он смысл на основе отправленного мной текста.
Мои тесты обычно следуют этому шаблону:
beforeEach(function (done) {
bot = require('myModule').textBot;
bot.removeAllListeners('reply');
done();
});
describe('', function(){
it('', function (done) {
bot.on('reply', function (message) {
assert.include(message.text.toLowerCase(), '');
done();
});
bot.processMessage({text: 'message_that_will_trigger'});
});
});
У меня есть несколько описаний и несколько его на моих тестах. Иногда ответ будет инициирован неправильным ответным обратным вызовом (даже несмотря на то, что я сбросил все обратные вызовы для beforeEach), поэтому тесты не пройдут.
Если я запускаю только конкретный тест. Они проходят.
Это лучший способ проверить это? Как я могу это решить?