测试Microsoft Bot Framework Async回复

时间:2016-05-30 18:13:29

标签: node.js mocha chai botframework

我正在使用Mocha和Chai(BDD模式)测试我的Bot。

我想听一下事件发射器来检查我得到的回复,并根据我发送的文本判断它是否有意义。

我的测试通常遵循这个模式:

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上的所有回调),因此测试将失败。

如果我只运行特定测试。他们过去了。

这是测试这个的最佳方法吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

如果其他人偶然发现了这一点。确保在“完成”通话之前断言...

我有一个测试没有断言任何东西,显然是搞砸了其他测试。删除测试后,一切都顺利进行。