这是我的第一个SO问题,请耐心等待。我正在编写单元测试以测试我的角度应用程序的组件。我想创建一个组件并断言它是否是使用玩笑创建的。该组件具有依赖项注入,在创建要测试的组件实例时需要提供依赖项注入。我的问题是,这些依赖项具有更多的依赖性,并且它们具有更多的依赖性。因此,如果要注入这些服务,是否必须在测试规范文件中提供每个依赖项作为提供者?
我已经尝试提供依赖项,但是这很累人,因为这些依赖项还有更多的依赖项。
这是我的组件。
entlib.config
这是注入的ToastRef。
export class CenToastrComponent implements OnInit, AfterViewInit, OnDestroy {
constructor(
readonly data: ToastData,
readonly ref: ToastRef,
private renderer: Renderer,
@Inject(TOAST_CONFIG_TOKEN) public toastConfig: ToastConfig
) {}
}
并且OverlayRef在构造函数中还有许多其他DI。
这是我的测试方法。
export class ToastRef {
constructor(private readonly overlay: OverlayRef) {}
close() {
this.overlay.dispose();
}
}
但这失败了,因为我无法提供ToastRef的DI。
很抱歉没有共享更多代码,因为这是一个私人项目。 有没有更好的方法可以以更简单的方式进行此DI和测试。任何帮助表示赞赏。预先感谢。