水豚 - have_css匹配空字符串,当它不应该匹配



在Capybara新建。测试以下代码。值可以是动态的"(空(。

within("#foo") do
expect(page).to have_css("td:nth-child(2)", text: value)
end

问题是:当值="0"时&";,即使td:nth child(2(中有文本,它也匹配为true。可能的原因:内容呈现为异步,当Capybara第一次检查时,文本还不存在(这意味着"(,所以这是真的。

只有当文本末尾确实为空时,才匹配true,而当文本不为空时匹配false,有什么方法吗?

默认情况下,Capybarastext参数会匹配子字符串,因此"quot;将匹配任何文本内容(因为"是所有内容的子字符串(。如果你想要一个完全匹配,那么你需要进行

expect(page).to have_css("td:nth-child(2)", text: value, exact_text: true)

或者更简洁地说

expect(page).to have_css("td:nth-child(2)", exact_text: value)

相关内容

  • 没有找到相关文章

最新更新