Angular2 @Viewchild单元测试

时间:2017-08-09 07:15:18

标签: angular unit-testing testbed

我有这样的组件:

export class ParentComponent implements OnInit, OnDestroy {


    @ViewChild(ChildComponent) childComponent: ChildComponent;
}

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

this.childComponent.method();

ParentComponent方法中。

因此,当我尝试测试内部使用ParentComponent的{​​{1}}方法时,childComponent将返回为undefined。

如何解决问题?

2 个答案:

答案 0 :(得分:0)

声明内部子组件的描述。

let childFixture: ComponentFixture<childComponent>;

现在使用

创建组件实例
let childComp = childFixture.componentInstance;

答案 1 :(得分:-2)

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

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