您好,登錄后才能下訂單哦!
要使用Jest測試異步函數中的異常,你需要確保在測試異步代碼時使用async/await
或者返回一個Promise。這里有一個簡單的例子說明如何測試一個異步函數中的異常:
myFunctions.js
的文件,其中包含一個異步函數,可能會拋出異常:// myFunctions.js
export async function fetchData() {
// 模擬異步獲取數據的過程
return new Promise((resolve, reject) => {
setTimeout(() => {
const success = Math.random() > 0.5;
if (success) {
resolve('數據獲取成功');
} else {
reject(new Error('數據獲取失敗'));
}
}, 1000);
});
}
myFunctions.test.js
的測試文件中編寫針對fetchData
函數的測試用例:// myFunctions.test.js
import { fetchData } from './myFunctions';
describe('fetchData', () => {
it('should resolve with data', async () => {
const data = await fetchData();
expect(data).toBe('數據獲取成功');
});
it('should throw an error', async () => {
try {
await fetchData();
} catch (error) {
expect(error).toBeInstanceOf(Error);
expect(error.message).toBe('數據獲取失敗');
}
});
});
在這個例子中,我們分別測試了fetchData
函數在成功和失敗的情況下的行為。請注意,我們在測試用例中使用了async/await
語法來處理異步操作。
npx jest
Jest將自動識別并運行所有測試文件,并輸出結果。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。