Я написал интеграционный тест с Mocha для проверки соединения через веб-сокет Fay:
it('should allows clients to open ws', function (done) {
const cli = new FayeClient(`http://localhost:${config.port}/${config.root}/ws`);
should.exist(cli);
const subscription = cli.subscribe('/foo', msg => {
should.exist(msg);
msg.should.be.deep.equal({ foo: 'bar' });
subscription.cancel();
cli.disconnect();
return done();
});
});
Правильно вызывается обратный вызов подписки, проверка сообщений проходит, но done
никогда не вызывается, поэтому проверка никогда не заканчивается. Если я удаляю часть подписки и оставляю только проверку существования, тест завершается правильно.
Как мне прекратить работу клиента?