在编写Jest单元测试用例时处理在运行时遇到问题的异常处理,可以通过以下方法解决:
try-catch
语句捕获异常,并使用断言函数进行断言验证。function divide(a, b) {
if (b === 0) {
throw new Error('Divide by zero');
}
return a / b;
}
describe('divide', () => {
test('should divide two numbers correctly', () => {
expect(divide(6, 2)).toBe(3);
});
test('should throw an error when dividing by zero', () => {
try {
divide(6, 0);
} catch (error) {
expect(error.message).toBe('Divide by zero');
}
});
});
toThrow
匹配器来验证是否抛出了预期的错误。function divide(a, b) {
if (b === 0) {
throw new Error('Divide by zero');
}
return a / b;
}
describe('divide', () => {
test('should divide two numbers correctly', () => {
expect(divide(6, 2)).toBe(3);
});
test('should throw an error when dividing by zero', () => {
expect(() => {
divide(6, 0);
}).toThrow('Divide by zero');
});
});
toThrowError
匹配器来验证是否抛出了预期的错误类型。function divide(a, b) {
if (b === 0) {
throw new TypeError('Divide by zero');
}
return a / b;
}
describe('divide', () => {
test('should divide two numbers correctly', () => {
expect(divide(6, 2)).toBe(3);
});
test('should throw a TypeError when dividing by zero', () => {
expect(() => {
divide(6, 0);
}).toThrowError(TypeError);
});
});
通过以上方法,在编写Jest单元测试用例时可以处理在运行时遇到问题的异常处理,并进行断言验证。