我正在使用Karma / Jasmine测试Angular页面上的ul
是否包含所需的文本。由于它是ul
,所以我不关心顺序。现在,我似乎需要指定要检查的querySelectorAll
中结果的哪个节点,但这很重要。更脆的测试。有没有一种方法可以检查结果中的任何节点是否符合我的期望。
我有什么
expect(compiled.querySelectorAll('div.layer-switcher li.layer label')[0].textContent).toContain('Rivers');
我想要的东西
expect(compiled.querySelectorAll('div.layer-switcher li.layer label').textContents).toContain('Rivers');
我不想要的东西
A manual loop through all results and if we fall out the bottom of the loop without finding it then fail test
答案 0 :(得分:0)
在这种情况下,您可以检查父ul
元素而不是li
元素的内容。
例如:
expect(compiled.querySelectorAll('div.layer-switcher ul').textContent).toContain('Rivers');