代码之家  ›  专栏  ›  技术社区  ›  Shuai Li

如何测试包含异步函数的函数?

  •  1
  • Shuai Li  · 技术社区  · 8 年前

    有一个函数

    function foo(){
      bar('hi',callback)
    }
    

    bar 是异步函数,如何测试 foo 在摩卡或其他测试框架中?

    2 回复  |  直到 8 年前
        1
  •  0
  •   SAGAR RAVAL    8 年前
    describe('', function() {
      it('', async function() {
        const result = await foo();
        result.should.equal('hi');
      });
    });
    

    mocha现在支持异步等待。 参考链接 https://mochajs.org/

        2
  •  0
  •   prisoner_of_azkaban    8 年前

    对于这个函数,您只需返回一个值。 现在根据回调类型,您可以存根承诺:

     bar.returns('some value', Q.reject({success: false}))
    

    或者一个函数:

    bar.returns('some value', sinon.spy())
    

    我还没测试过。 你可能想读:

    http://sinonjs.org/releases/v4.0.0/spies/

    http://sinonjs.org/

    推荐文章