【问题标题】:Testing Microsoft Bot Framework Async replies测试 Microsoft Bot Framework 异步回复
【发布时间】:2016-05-30 18:13:28
【问题描述】:

我正在使用 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 上的所有回调),所以测试会失败。

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

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

【问题讨论】:

    标签: node.js mocha.js chai botframework


    【解决方案1】:

    如果其他人偶然发现了这一点。确保在“完成”调用之前断言某些内容...

    我有一个测试没有断言任何东西,而且显然搞砸了其他测试。去掉测试后,一切顺利。

    【讨论】:

    • Mocha 根本不在乎你在调用done 之前是否断言。
    猜你喜欢
    • 2017-02-26
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    相关资源
    最近更新 更多