Модульное тестирование Hubot не получает ответа

Я пытаюсь настроить простой модульный тест для своего кода hubot и не получаю ответов. Я упростил это до:

тест.кофе:

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/< /а>

Спасибо за помощь!


person jaibhavaya    schedule 25.01.2018    source источник


Ответы (2)


Для всех, кто достиг этой темы, я разместил вопрос, когда я столкнулся с той же проблемой. Короче говоря, проблема заключалась в отступе - строка, начинающаяся с expect, вызывалась до того, как была выполнена @room.user.say. Пожалуйста, смотрите мою ссылку для более подробной информации.

person reesaspieces    schedule 08.05.2019

Я не знаю почему, но перемещение @room.user.say в блок before сделало эту работу.

person jaibhavaya    schedule 25.01.2018
comment
Можете ли вы опубликовать свой код, пожалуйста? У меня такая же проблема, но я не могу понять ваши инструкции. Я создал до -› и поместил туда весь свой тест. - person Thom; 03.04.2018