如何使用mocha和TypeScript测试异步事件发射器?

时间:2018-03-28 19:12:45

标签: javascript node.js asynchronous mocha eventemitter

我无法在 mocha v5.0.4 中运行异步事件发射器测试。我正在使用typed Rx based event emitter和node.js v8.10。有人能指出我正确的方向吗?

第一个和第二个阻止工作正常。但是,永远不会调用第三个it块。 Mocha没有给我一个测试结果(根本没有输出,mocha进入我设置为10分钟的超时)

describe('xyz', () => {
  const xyz : Xyz = new Xyz(config);

  describe('make()', () => {

    let emitter : Emitter<Status>;
    emitter = xyz.make("abc", 0.01);

    it('should return an Emitter', () => {
      expect(emitter).to.be.a('Object');
    });

    it('should eventually return a foo', (done) => {
      emitter.on('foo').subscribe( foo => {
        expect(foo).to.be.a('foo');
        done();
      })
    });

    it('should eventually return a bar', (done) => {
      emitter.on('bar').subscribe( bar => {
          console.log('foobar!');
          expect(bar).to.be.a('bar');
          done();
      });
    });

  });
});

最让我印象深刻的是这场比赛肯定被解雇了。我可以看到foobar!作为控制台输出。我没有使用 Spies ,而是坚持使用second example from the mocha documents

0 个答案:

没有答案