【问题标题】:Angular unit test cases failing in a random mannerAngular 单元测试用例随机失败
【发布时间】:2021-03-04 20:09:23
【问题描述】:

我正在为我的 Angular 11 项目编写单元测试用例。一切都运行良好,但突然有些测试用例无法通过。它会显示随机错误,但稍后会传递(可能不会)。它会显示Cannot read property 'triggerEventHandler' of nullCannot read property 'subscribe' of undefined 之类的错误或其他一些错误。但是在一次又一次地重新运行ng test 之后,它会在某个时候通过。我应该怎么办?我试过npm cache clean --force 命令。它让我工作了一天。但它再次开始表现相同。请提出一些建议。

【问题讨论】:

    标签: angular unit-testing npm jasmine karma-jasmine


    【解决方案1】:

    我认为您需要模拟在您正在测试的组件中使用的服务。

    您可以尝试在描述块中添加:
    let serviceMock: SpyObj<ServiceClass>;

    在beforeEach中添加:
    serviceMock = createSpyObj('ServiceClass', ['methodName']);

    在提供者列表中: { provide: ServiceClass, useValue: serviceMock }

    然后您可以决定是需要模拟该方法的返回值还是只返回 NEVER。

    例如serviceMock.methodName.and.returnValue(NEVER);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2020-03-13
      • 2016-01-31
      • 2021-06-03
      相关资源
      最近更新 更多