【问题标题】:Unit test KeyValueDiffers, angular jest单元测试 KeyValueDiffers,角度笑话
【发布时间】:2022-01-07 17:48:36
【问题描述】:

我有一个使用 KeyValueDiffers 的组件。

constructor(private differs: KeyValueDiffers, private toastr: CustomToastService) { }

spec.ts 文件中,我在 providers 数组中添加了 KeyValueDiffers,但是当我尝试运行单元测试时,它给出了这个错误:

Can't resolve all parameters for KeyValueDiffers: (?).

如何解决?

编辑:在 spec.ts 文件中,它是这样导入的:

providers: [
    KeyValueDiffers
  ]

【问题讨论】:

  • 我认为这缺少一些minimal reproducible example,但是您是否正确导入了服务?
  • @Vega,添加了 EDIT 以显示它是如何在 spec.ts 中导入的。
  • 是的,组件工作正常,由于组件构造函数中的“KeyValueDiffers”作为依赖项,在单元测试中遇到问题。不知何故,它在单元测试中不起作用

标签: angular jestjs jasmine


【解决方案1】:

我使用这样的东西:

const myServiceMock = jasmine.createSpyObj('RealService', ['method1', 'method2', 'method3']);

在提供者中:

providers: [{ provide: RealService, useValue: myServiceMock }];

您错过了该服务的方法...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    相关资源
    最近更新 更多