Я видел много примеров тестов для тестирования реальных элементов DOM.
например:
expect(vm.$el.querySelector('div').textContent).toBe('xxx')
Какова цель проверки текста элементов DOM?
Кто-то говорит, что вы можете тестировать вычисленные значения, но не вычисляемые значения, проверенные с помощью nextTick
?
Кроме того, люди говорят, что теги HTML будут влиять на текст элемента:
<htmlTag><a><p>{{user.name}}</p></a></htmlTag>
А что, если продукт находится на нескольких языках?
Я считаю, что мы должны проверять данные, состояние, функции и элементы, которые должны корректно отображаться в шаблоне HTML.
Что вы, ребята, делаете с тестом Vue?
Вы задаете разные вопросы, но я постараюсь ответить на "общий" вопрос об модульном тестировании в DOM.
Единичное тестирование в элементах DOM может быть полезно по разным причинам, но наиболее важными из них являются:
Проверка простых действий пользователя
Пример простых действий пользователя:
Нажав на ссылку, которая переключает видимость элемента DOM Отправка формы, которая запускает проверку формы (...) Эти действия могут быть легко протестированы путем имитации событий DOM
Анализ сетевых характеристик
Манипуляция JavaScript для определения различных характеристик сети из браузера. Пример здесь
Тестирование DOM-мутаций и манипуляции
Хороший пример объясняется здесь
Как вы сказали, лучше проверить непосредственно состояние /vars/methods, но иногда это единственный способ с реальным или виртуальным DOM.
Чтобы узнать больше, вы можете взглянуть на это (фантастическое) руководство по GitHub для Unit Testing in JavaScript
здесь
Надеюсь, он прояснит и поможет вам!