gpt4 book ai didi

javascript - 在 karma 测试中按类名获取两个 div (Angular 4.0)

转载 作者:行者123 更新时间:2023-11-30 11:22:15 24 4
gpt4 key购买 nike

我有这样的看法:

<div>
<div class="header-title">Example title 1</div>
</div>

<div>
<div class="header-title">Example title 2</div>
</div>

在我的 karma 测试中,我想按类名调查所有 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,如何测试它们呢?

最佳答案

使用 queryAll() 而不是返回数组的 query()

query() 返回单个 DebugElement,它始终是第一个匹配元素,而 queryAll() 返回 DebugElement[].

debugTest = fixture.debugElement.queryAll(By.css('.header-title')); 

这样你就可以访问了

elementTest1 = debugTest[0].nativeElement;
elementTest2 = debugTest[1].nativeElement;

关于javascript - 在 karma 测试中按类名获取两个 div (Angular 4.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49378492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com