Я думаю, что в браузере (на стороне клиента) было бы возможно "модульное тестирование" CSS. Это больше похоже на автоматическую проверку, чем на модульное тестирование:
- Оцените окончательные условия атрибута CSS, которые мы хотели бы сохранить для определенного класса CSS или идентификатора (результат).
- Нам требуется тестовый документ HTML для визуализации статического содержимого и CSS. Все элементы должны быть включены в контент в отдельных контейнерах.
- После рендеринга проверьте с помощью javascript окончательные или итоговые атрибуты выбранных целей и выведите несоответствующие элементы.
Пример модульного тестирования:
DOM селекторы:
.test1
.test2
#test3
Это всегда должны быть последние атрибуты:
CSSAttribute1, CSSFinalValue1
CSSAttribute2, CSSFinalValue2
CSSAttribute3, CSSFinalValue3
Функция для установки правил тестирования в JS может быть:
addCSSUnitTest(".test1, .test2, #test3", "margin-left: 4px; font-size: 8px");
Затем мы проверяем, имеют ли элементы DOM эти окончательные атрибуты.
Все сделано в javascript после рендеринга. Но в любом случае это не практично, потому что вам придется создавать множество тестовых примеров, которые значительно увеличат ваш код.
Также у вас всегда должен быть файл reset.css для кросс-браузерной «совместимости».
Альтернативой будет назначение CSS-классов, которые, как вы знаете, должны сохранять все свои атрибуты. Создайте список селекторов DOM. Используйте jQuery, чтобы получить атрибуты класса CSS (непосредственно из класса CSS) и проверить, сохраняются ли они в целевых элементах DOM. Этот последний метод может быть почти полностью автоматизирован, но потребует более сложной проверки javascript. Последний не будет проверять CSS для селекторов идентификаторов (например, "# test3"), только классы (например, ".test1")