我正在测试查询列表为@ContentChildren
的组件。在我的组件中,可以在“ AfterContentInit”生命周期挂钩中对其进行访问。但是,当我打算在我的规范文件中访问同一文件时,我的查询列表将返回一个空数组。
我正在尝试测试组件,而无需创建任何模拟组件,就像在此link中所做的那样。我已经尝试了下面链接中提供的解决方案,但对我而言不起作用。
Angular 2 unit testing - @ViewChild is undefined
在我的组件中:
@ContentChildren(GetTemplateDirective) public templates: QueryList<GetTemplateDirective<AccordionTemplate>>;
在组件的规格文件中:
it('should show the custom icon when the external template is passed', async(function () {
accordionFixture.detectChanges();
accordionComponent.ngAfterContentInit();
console.log(accordionComponent.templates);
expect(component.templates.toArray().length).toBeGreaterThan(0);
}));
答案 0 :(得分:0)
您可以使用debug元素进行查询:
const debugEl = fixture.debugElement;
debugEl.query(By.directive(AccordionTemplate));