Angular / Jasmine 错误消息不一样——引用?

问题描述 投票:0回答:1

我正在尝试使用 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)

我已经检查了错误消息中是否有多余的空格,我尝试在函数中的错误消息中添加引号,但没有任何效果。 错误消息看起来完全相同,但测试表明它们并非如此。

我错过了什么?

angular jasmine
1个回答
0
投票

我认为它正在检查完整的堆栈跟踪,而是尝试

toThrowError

import { ValidateX } from './identity';

describe('identity', () => {
  it('ValidateX test', () => {
    expect(function () {
      ValidateX(7);
    }).toThrowError('Number is greater than 5');
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.