簡體   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