角组件测试-按组件查询

时间:2019-05-10 13:16:52

标签: angular angular-test

在测试@Component的DOM表示形式时,您可以通过其夹具

查询其嵌套元素。
fixture.debugElement.queryAll(By.css('.example'));

您还可以按@Directive

进行过滤
fixture.debugElement.queryAll(By.directive(RouterLinkDirectiveStub));

现在,假设您有一个内部@Component NzButtonComponent这样使用

<button nz-button>Example</button>

如何精确查询?没有By.component(...)

2 个答案:

答案 0 :(得分:2)

可能您可以使用

fixture.debugElement.query(By.directive(AnyComponent))会返回该组件的DebugElement

答案 1 :(得分:1)

如果使用nativeElement而不是debugElement,则可以按CSS属性进行选择:

fixture.debugElement.nativeElement.querySelector('[nz-button]') as HTMLButtonElement;

对于多个元素,可以使用querySelectorAll方法。