Angular 2-具有ChangeDetectorRef依赖项的测试组件

时间:2018-08-02 08:57:46

标签: angular angular-test

我正在尝试使用ChangeDetectorRef

测试组件
constructor(private cdRef: ChangeDetectorRef) {}

这是规格文件

import {RTLateralMenuComponent} from "./RTLateralMenu.component";

describe('RTLateralMenuComponent', () => {
  let app: RTLateralMenuComponent;

  beforeEach(()=>{
    app = new RTLateralMenuComponent();
  });
});

新的RTLateralMenuComponent显然需要一个参数,但是我不知道它是如何工作的。

2 个答案:

答案 0 :(得分:0)

您可以嘲笑

const cdRefMock = {
  detectChanges: () => null
};

app = new RTLateralMenuComponent(cdRefMock);

您将必须实现组件中使用的所有方法:detectChanges是最常用的方法,我想我会马上给出。

(PS:由于您正在创建组件实例,所以我假设您不使用测试床)

答案 1 :(得分:0)

这对我来说是有效的,因为测试规范是TypeScript:

   let cdf = {detectChanges:()=>null} as ChangeDetectorRef;