Angular 组件测试 - 按组件查询

Lpp*_*Edd 2 angular angular-test

当测试 a 的 DOM 表示时@Component,您可以通过其固定装置查询其嵌套元素

fixture.debugElement.queryAll(By.css('.example'));
Run Code Online (Sandbox Code Playgroud)

您还可以按以下条件过滤@Directive

fixture.debugElement.queryAll(By.directive(RouterLinkDirectiveStub));
Run Code Online (Sandbox Code Playgroud)

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

<button nz-button>Example</button>
Run Code Online (Sandbox Code Playgroud)

怎样才能精确查询到呢?没有By.component(...)

Art*_*nin 5

查询类似指令

也许你可以使用

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

这是可行的,因为在 Angular Component 中继承了 Directive