Debugging 在使用Hubot测试助手和chai测试Hubot脚本时出现AssertionError
我正在为我的Hubot编写一个简单的测试(它充当一个Slack bot),以检查我的bot是否会发送一个响应触发器的回复。我遵循了中所示的示例,但测试结果为Debugging 在使用Hubot测试助手和chai测试Hubot脚本时出现AssertionError,debugging,testing,coffeescript,hubot,Debugging,Testing,Coffeescript,Hubot,我正在为我的Hubot编写一个简单的测试(它充当一个Slack bot),以检查我的bot是否会发送一个响应触发器的回复。我遵循了中所示的示例,但测试结果为AssertionError(详细信息如下),我不确定原因。如有任何建议,将不胜感激 我假设问题与测试有关,而不是脚本(break start.coffee),因为我在测试脚本时从Slack向bot发送了一条实际消息,得到了正确的回复 #break-start.coffee #基本上,机器人会对任何午休时间的用户说“稍后的鳄鱼”。 modul
AssertionError
(详细信息如下),我不确定原因。如有任何建议,将不胜感激
我假设问题与测试有关,而不是脚本(break start.coffee
),因为我在测试脚本时从Slack向bot发送了一条实际消息,得到了正确的回复
#break-start.coffee
#基本上,机器人会对任何午休时间的用户说“稍后的鳄鱼”。
module.exports=(机器人)->
robot.response/off to午餐/i(res)->
res.reply(“后来的鳄鱼”)
#break-start-test.coffee
“严格使用”
Helper=require('hubot-test-Helper')
helper=new helper(“../scripts/break start.coffee”)
请求=要求('请求')
expect=require('chai')。expect
描述“机器人响应用户消息”,->
每次之前->
#在运行测试之前设置好房间。
@room=helper.createRoom()
每次之后->
#测试结束后,将其拆下以释放侦听器。
@破坏房间
它“响应外出午餐的用户”,->
@room.user.say('bob','hubot Off to sunch')。然后=>
expect(@room.messages).to.eql[
['bob','@hubot出去吃午饭']
['hubot','bob Later alligator']
]
顺便说一句,以前这里有一个非常类似的帖子,但没有得到回复。我认为问题在于缩进错误
@room.user.say
调用将传递一个空函数作为承诺解析,而不是expect块,因为这应该缩进到另一个级别
这与房间中只有一条消息的结果相符,因为在异步@room.user.say()执行expect
调用之前执行了该调用:
it 'responds to users who are off to lunch', ->
@room.user.say('bob', '@hubot Off to lunch').then =>
expect(@room.messages).to.eql [
['bob', '@hubot Off to lunch']
['hubot', '@bob Later alligator']
]
工作得很好!非常感谢你。
it 'responds to users who are off to lunch', ->
@room.user.say('bob', '@hubot Off to lunch').then =>
expect(@room.messages).to.eql [
['bob', '@hubot Off to lunch']
['hubot', '@bob Later alligator']
]