Angular 2 - Jasmine Test - 在页面上打开模态加载

时间:2017-08-04 08:31:50

标签: unit-testing jasmine karma-jasmine

我有一个模态,一旦用户选择页面的菜单选项就会打开。 Isue我有的是我不知道如何让它在我的ngOnInit

中调用我的函数调用

test.component.ts

constructor(public dialog: MdDialog) { }

ngOnInit() {
    this.openTestModal();
}

openTestModal() {
    this.dialog.open(TestModalComponent, {
        disableClose: true,
        width: '600px'
    });
}

我已导入我的模型组件并尝试:

更改-password.component.spec.ts

import { TestModalComponent } from '../test-modal/test-modal.component';
    spyOn(component, 'openTestModal');
    spyOn(component, 'ngOnInit').and.callThrough();

    it('should be created', () => {
        expect(component).toBeTruthy();
    });

错误

  

找不到TestComponent的组件工厂。你有没有添加它   @ NgModule.entryComponents?

但它已经在那里

1 个答案:

答案 0 :(得分:2)

要解决这个问题,请使用entryComponents将TestComponent添加到测试结束时的模块中。

@NgModule({
  declarations: [TestComponent],
  entryComponents: [
    TestComponent,
  ],
})
class TestModule {}

并将TestModule添加到testBed导入。