我正在尝试使用 Angular/Jasmine 运行测试。
这是我的功能:
ValidateX(value : number) {
if (value > 5) {
throw new Error('Number is greater than 5');
}
}
这是我的测试:
it('X test', () => {
expect(function(){service.ValidateX(7);}).toThrow('Number is greater than 5');
})
这是我的错误:
验证服务 > X 测试 预期函数会抛出“数字大于 5”,但它抛出错误:数字大于 5。 在 在 UserContext.apply (http://localhost:9876/karma_webpack/webpack:/src/app/services/validations.service.spec.ts:27:47) 在 _ZoneDelegate.invoke (http://localhost:9876/karma_webpack/webpack:/node_modules/zone.js/fesm2015/zone.js:369:28) 在 ProxyZoneSpec.onInvoke (http://localhost:9876/karma_webpack/webpack:/node_modules/zone.js/fesm2015/zone-testing.js:2081:39) 在 _ZoneDelegate.invoke (http://localhost:9876/karma_webpack/webpack:/node_modules/zone.js/fesm2015/zone.js:368:34)
我已经检查了错误消息中是否有多余的空格,我尝试在函数中的错误消息中添加引号,但没有任何效果。 错误消息看起来完全相同,但测试表明它们并非如此。
我错过了什么?
我认为它正在检查完整的堆栈跟踪,而是尝试
toThrowError
。
import { ValidateX } from './identity';
describe('identity', () => {
it('ValidateX test', () => {
expect(function () {
ValidateX(7);
}).toThrowError('Number is greater than 5');
});
});