我有这样的看法:
<div>
<div class="header-title">Example title 1</div>
</div>
<div>
<div class="header-title">Example title 2</div>
</div>
在我的业力测试中,我想按类名调查所有 div 并检查内部文本是否正确,因此我在测试中有以下代码:
[...]
debugTest = fixture.debugElement.query(By.css('.header-title'));
elementTest = debugTest.nativeElement;
[...]
it('should component div has a correct value', () => {
fixture.detectChanges();
const content = elementTest.textContent;
expect(content).toContain('Example Title 1');
});
以下代码有效,但我总是得到带有 .header-title 类的第一个 dom。如何提取下一张?如果我有 20 个具有相同类名的 div 如何测试它们呢?
Use queryAll()
代替query()
,它返回一个数组。
query()
返回单DebugElement
它始终是第一个匹配元素,而queryAll()
回报DebugElement[]
.
debugTest = fixture.debugElement.queryAll(By.css('.header-title'));
这样你就可以访问像
elementTest1 = debugTest[0].nativeElement;
elementTest2 = debugTest[1].nativeElement;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)