我希望编写一个视图测试来断言HTML中存在 empty 数据属性。
我的HTML是这样的:
<section data-my-name-here></section>
我的测试是:
assert_select '[data-my-name-here]'
测试结果是:
Expected at least 1 element matching "[data-my-name-here'']", found 0.
请注意该测试如何在属性中添加引号,以及它似乎期望值。
如果我在HTML中添加一个值并测试它,我可以通过测试。
<section data-my-name-here='true'></section>
assert_select "[data-my-name-here='true']"
但我不想为了测试而改变我的标记。
我该怎么做?
答案 0 :(得分:0)
我最终求助于使用Nokogiri,在我看来assert_select
无法识别没有值的属性,至少我没有改变视图。
html = Nokogiri::HTML.parse self.rendered
my_element_count = html.xpath('//*[@data-my-name-here]').size
assert_equal 1, my_element_count