非同期コールバック用のJestテストケースでの非同期タイムアウトの解決方法

1316 ワード

関数のJestテストケースでの非同期タイムアウトの解決方法
私はノードJSとJestテストで働いた.応答を提供するために遅くなる関数である“getValiddata ()”関数のテストテストケースを実行中に問題に直面しています.Jestテストケースが失敗し、async timeout以下のエラーが発生しました.
timeout - asyncコールバックは、jestで指定された5000 msタイムアウト内で呼び出されませんでした.settimeout.
「getValidData ()」関数と同じテストケースを参照ください.
実際の機能:データ.jsファイル
exports.getValidData = function(){
return new Promise(function(resolve, reject){
    const payloadData = {
        'user_id': userid,
    };

    const res = await fetch('https://<token-url>',{
        method: 'POST',
        headers: {
            'Accept': 'application/json'
        },
        body: new URLSearchParams(payloadData )
    });

    if(res.status != 200){
        reject(res.message);
    }
    let responseData = await res.json();
    resolve(responseData);

});
}
上記の関数のテストケースです.テスト.jsファイル
const dataTest = require("../data");
it("Test case for function getValidData", async()=>{
   await dataTest.getValidData().then(res => {
       expect(res).not.tobeNull();
   }).catch(err => {

   });
}, 30000);
上記の"getValiddata () "関数のテストケースでタイムアウトに関する問題を解決できますか?「getValiddata ()」関数の上記のテストケースに失敗しないで渡す方法と実行方法についてのご意見とご案内をお聞かせください.