繁体   English   中英

该函数的测试用例,该函数使用mocha和chai调用Async函数

[英]Test case for the function which is calling Async function with mocha and chai

我有返回承诺的功能。 这是功能代码。

function  firstFunction () {
   return new Promise (function (resolve , return) {
          callApi(function(data, error){
                     if (data)  resolve (data)
                     else if (error) reject (error)  
          })
   })
}

如您所见,它正在调用某些api,并因此返回其数据。

我有另一个函数调用此函数

function  secondFunction () {
  firstFunction ().then(function (data , error) {
          return data
  })
}

现在,我想要写测试用例的secondfunction。 但无法做到这一点。 我也将logger放在函数中,但似乎不起作用,这是我的测试用例

   describe.only ("network_test" , function () {
      it ("test 01", function (done){

        secondFunction (function (data) {
           console.log(data);
           done()
         })
       })
    })  

要测试promise,您应该在mocha测试中返回promise,而不要使用done

您的测试应类似于:

describe.only('network_test', function () {
    it('test 01', function () {
       return secondFunction(function (data) {
          console.log(data);
       });
    });
});

更新:关于您的评论:检查您的错误处理程序,在firstFunction reject undefinded secondFunction ,错误将使承诺永远无法解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM