【发布时间】:2021-11-30 01:26:44
【问题描述】:
我有一个抽象类,有助于避免重复代码(取消订阅 observables),它看起来像:
export abstract class SubscriptionManagmentDirective implements OnDestroy {
componetDestroyed = new Subject<void>()
constructor() {}
ngOnDestroy(): void {
this.componetDestroyed.next()
this.componetDestroyed.unsubscribe()
}
}
在某些情况下,我会覆盖 ngOnDestroy 并忘记调用 super.ngOnDestroy(),然后订阅变得疯狂。
我向扩展组件添加了一个单元测试,以测试取消订阅已被调用,但为此我必须真正记住添加它们。
我的问题是,
- 有没有办法强制在组件扩展时调用
super.ngOnDestroy()? - 或者有没有办法为抽象类编写单元测试,以便在扩展该类的任何组件上进行测试?
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: angular typescript jasmine observable abstract-class