Элементы DOM Javascript Unit test - PullRequest
       0

Элементы DOM Javascript Unit test

1 голос
/ 23 августа 2011

Я только начал создавать модульные тесты (используя QUnit) для своего javascript, и у меня есть функция, которая принимает div и манипулирует его дочерними элементами.

Как мне создать тест для этого?

Я думал о том, чтобы создать фрагмент документа с ожидаемым деревом DOM в каждом случае и протестировать его.Но так как родители и т. Д. Разные, разве не провалится рекурсивная проверка?Как еще я могу сделать этот тест?

Ответы [ 2 ]

1 голос
/ 23 августа 2011

Имеется функция сброса DOM, которую можно вызывать после каждого теста, чтобы вернуться в нейтральное состояние.

Запустите вашу функцию, которая управляет DOM.

Затем вручную проверьте, что DOM находится в правильном состоянии, пройдя его и просто подтвердив, что все находится там, где и должно быть.

Скорее рекурсивно сравнивая его с циклом DOMFragment через DOM и проверяя, что ваша функция создала новые элементы, изменили классы, изменил текст, изменили атрибуты и т. Д.

После того, как вы написали несколько тестов, оберните вещи в функции и высушите ваш код.

Написание такого кода означает, что вы, вероятно, продублируете много кода в своих модульных тестах, где вы проверяете очень похожие вещи в DOM. Чтобы было удобнее использовать их повторно, возьмите общие фрагменты кода и поместите их в функции.

0 голосов
/ 27 августа 2011

Я нашел узел. isEqualNode () функция, которая, кажется, выполняет требуемую работу. Это не похоже на сравнение атрибутов. Я хочу, чтобы атрибуты classNames, id и data- * также сравнивались.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...