Angular2 @Viewchild单元测试

Ank*_*jee 8 unit-testing testbed angular

我有这样的组件:

export class ParentComponent implements OnInit, OnDestroy {


    @ViewChild(ChildComponent) childComponent: ChildComponent;
}
Run Code Online (Sandbox Code Playgroud)

正在使用childComponent拨打电话,让我们这样说:

this.childComponent.method();
Run Code Online (Sandbox Code Playgroud)

ParentComponent方法内.

因此,当我尝试测试ParentComponent内部使用的方法时ChildComponent,childComponent将返回undefined.

如何解决这个问题?

小智 -2

在大多数情况下,当您想在测试中使用 ViewChild 时,只需将其添加到您的测试声明中,如下所示:

beforeEach(async(() => {
        TestBed
            .configureTestingModule({
                imports: [],
                declarations: [ChildComponent],
                providers: [],
            })
            .compileComponents() 
Run Code Online (Sandbox Code Playgroud)