我有一個檢查 url 地址的函數,如果該地址有效或無效,則返回 true。我需要使用 Jest 編寫測試。為了完成這個任務,我編寫了位于文檔底部的測試用例。起初它引發了再生器運行時錯誤,但我通過相應的導入修復了該錯誤。但隨后它開始拋出該錯誤。為了解決這個問題,我嘗試導入 fetch 庫,但錯誤沒有解決。盡管我的應用程序中的錯誤功能正常工作。如何修復該錯誤?ReferenceError:未定義提取const fetch = require('node-fetch');test("Testing valid product", async ()=>{ const result = await valid('#products/1'); expect(result).toBe(true);});我的功能//FUNCTION WITH VALIDATIONexport async function valid(path){ //GETTING GROUP OF THE PRODUCTS let group = path.substr(path.indexOf('#')+1,path.indexOf('/')-1); //GET ID OF ITEM OF THE GROUP let url = path.substr(path.indexOf('/')+1); if(group=='products'){ //CHECKING IF ITEM WITH THAT ID EXISTS let items = await fetch('https://my-json-server.typicode.com/ValeryDrozd/Valerydrozd.github.io/products').then(res => res.json()); for(let i=0;i<items.length;i++){ if(String(items[i]['id'])==url)return true; } return false; } if(group=='promos'){ let items = await fetch('https://my-json-server.typicode.com/ValeryDrozd/Valerydrozd.github.io/promos').then(res => res.json()); for(let i=0;i<items.length;i++){ if(String(items[i]['id'])==url)return true; } return false; } if(group=='order'){ let orders = JSON.parse(localStorage.getItem('orders')); if(orders==null)return false; if(orders['orderids'].indexOf(url)==-1)return false; return true; } return false;}我的 jest.config.js 文件module.exports = { collectCoverage: true, transform: { '\\.js$': 'babel-jest', },};
如何對異步函數進行正確的單元測試?
慕桂英4014372
2023-11-12 15:24:10