2015-09-01 5 views
1

Я хочу написать тест представления, чтобы утвердить наличие пустого атрибута данных в моем HTML.assert_select пустой атрибут данных

Мой 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

Я пришел к использованию 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