您好,登錄后才能下訂單哦!
Jest 是一個流行的 JavaScript 測試框架,它提供了豐富的錯誤處理機制來幫助您更好地編寫和調試測試用例
toThrow
或 toThrowError
匹配器:這些匹配器可以讓您測試一個函數是否拋出了預期的錯誤。例如:test('throws an error when called with a negative number', () => {
expect(() => myFunction(-1)).toThrow();
expect(() => myFunction(-1)).toThrowError('Negative numbers are not allowed');
});
try-catch
語句:在測試用例中使用 try-catch
語句可以讓您捕獲并處理可能拋出的錯誤。例如:test('handles errors correctly', async () => {
try {
await myAsyncFunction();
} catch (error) {
expect(error).toBeInstanceOf(Error);
expect(error.message).toMatch('An error occurred');
}
});
done.fail()
:當您使用異步測試時,可以使用 done.fail()
方法來處理錯誤。例如:test('handles async errors correctly', (done) => {
myAsyncFunction()
.then((result) => {
// Your assertions here
done();
})
.catch((error) => {
expect(error).toBeInstanceOf(Error);
expect(error.message).toMatch('An error occurred');
done();
});
});
afterEach
鉤子:如果您需要在每個測試用例之后執行一些清理操作,可以使用 afterEach
鉤子。例如:afterEach(() => {
if (global.myGlobalVariable) {
delete global.myGlobalVariable;
}
});
jest.spyOn()
和 toHaveBeenCalledWith()
:這些方法可以讓您監視函數調用,并檢查它們是否按預期調用。例如:test('logs an error when called with a negative number', () => {
const consoleSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
myFunction(-1);
expect(consoleSpy).toHaveBeenCalledWith('Negative numbers are not allowed');
consoleSpy.mockRestore();
});
通過使用這些錯誤處理機制,您可以更好地編寫和調試 Jest 測試用例。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。