我有一个网页,其中有一个包含数据的表格元素。您可以搜索/过滤此数据。当搜索无效,即没有记录符合您的条件时,该表将呈现空白。
HTML将如下所示:
<tbody></tbody>
我正在编写一个测试来断言tbody元素确实是空的或空白的。我正在使用expect(find('tbody')).to have_text ''
我对此不太满意,因为当有任何空格的文本时它也会通过。
有没有更好的方法来断言?
编辑:
我成功运行了这个&gt;
expect(find('table > tbody', visible: false)).not_to have_css('td')
我仍然愿意接受任何更好的解决方案
答案 0 :(得分:1)
您可以通过验证其中没有子女
来验证tbody
是否为空
expect(find('tbody')).to have_no_css('*')
答案 1 :(得分:1)
Capybara中有一个has_no_content匹配器。
expect(find('tbody').has_no_content?).to be true
或
expect(find('tbody')).to have_no_content