2016-05-30 107 views
2

我正在使用Mocha和Chai(BDD模式)測試我的Bot。測試Microsoft 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

摩卡並不關心你是否在調用'done'之前斷言某些東西。 – Louis