我正在使用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上的所有回调),因此测试将失败。
如果我只运行特定测试。他们过去了。
这是测试这个的最佳方法吗?我该如何解决这个问题?
答案 0 :(得分:-1)
如果其他人偶然发现了这一点。确保在“完成”通话之前断言...
我有一个测试没有断言任何东西,显然是搞砸了其他测试。删除测试后,一切都顺利进行。