2017-08-04 38 views
1

我有一个模式,只要用户选择页面的菜单选项,即可打开。我遇到Isue的是,我对如何得到它打电话给我的函数调用在我ngOnInitAngular 2 - 茉莉花测试 - 打开模式在页面加载

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

为了解决这个问题您TestComponent在与entryComponents测试结束添加到模块。

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

并将TestModule添加到testBed导入。