8

我有一个这样的组件:

export class ParentComponent implements OnInit, OnDestroy {


    @ViewChild(ChildComponent) childComponent: ChildComponent;
}

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

this.childComponent.method();

方法内ParentComponent

因此,当我尝试测试ParentComponent内部使用的方法ChildComponent时,childComponent 将返回未定义。

如何解决问题?

4

2 回答 2

0

在描述中为子组件声明夹具。

let childFixture: ComponentFixture<childComponent>;

现在使用创建组件实例

let childComp = childFixture.componentInstance;
于 2018-12-04T10:36:48.877 回答
-2

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

beforeEach(async(() => {
        TestBed
            .configureTestingModule({
                imports: [],
                declarations: [ChildComponent],
                providers: [],
            })
            .compileComponents() 
于 2017-08-20T13:44:12.783 回答