我正在尝试为我的hubot代码设置一个简单的单元测试,但没有收到响应。我已经简化为:
test.coffee:
Helper = require('hubot-test-helper')
chai = require 'chai'
expect = chai.expect
helper = new Helper('../hubot-scripts/something.coffee')
describe 'PING', ->
beforeEach ->
@room = helper.createRoom()
afterEach ->
@room.destroy
it 'should PONG', ->
@room.user.say 'alice', '@hubot PING'
expect(@room.messages).to.eql [
['alice', '@hubot PING'],
['hubot', 'PONG']
]
还有东西:咖啡:
module.exports = (robot) ->
robot.response /PING$/i, (msg) ->
msg.send 'PONG'
运行测试时,我收到以下断言错误:
AssertionError: expected [ [ 'alice', '@hubot PING' ] ] to deeply equal [ Array(2) ]
+ expected - actual
[
"alice"
"@hubot PING"
]
+ [
+ "hubot"
+ "PONG"
+ ]
]
表示我根本没有得到回应。我曾尝试将@hubot更改为hubot(这无关紧要)。我还验证了它正在查找我的something.coffee,因为当我将该路径更改为不正确的路径时,我收到了关于此的错误信息。
我正在遵循https://hubot.github.com/docs/scripting/底部的示例
谢谢您的帮助!
最佳答案
对于遇到此问题的任何人,当遇到相同问题时,我都会发布question。
简而言之,问题是缩进-以expect
开头的行在执行@room.user.say
之前被调用。请查看我的链接以获取更多详细信息。
关于coffeescript - Hubot单元测试未收到响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48447909/