You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Возможность указать свой template() для определенного блока #78
Можно ли по принципу из этого вопроса указать для блока свою функцию template(), которая вызавалась бы вместо функции, переданной в Makeup(), и также как она генерировала html разметку?
Ну вот смотрите, у нас есть проект на вебпак, у него есть несколько точек входа (сборка для разработки с запуском dev-сервера, сборка на продакшен), все компоненты разбиты на папки и логично тесты для компонента располагать в той же папке что и сам компонент.
Так вот, тесты верстки мы вынесли в свою точку входа, там мы ищем по проекту все файлы с данными и шаблонами для makeup-тестов компонентов, все это собираем в одну большую data и в один template() и передаем в функцию Makeup(). Выполняем в терминале команду npm run test, запускается dev-сервер, заходим в браузере на локалхост и видим все существующие в данный момент тесты верстки в нашем проекте.
А проблема заключается в том, что приходится в названии теста полностью прописывать путь до компонента + название теста, чтобы добиться уникальности названия теста и случайно не повторить имя теста какого-нибудь другого компонента. И все из-за того что функция template одна на все тесты. Проблема автоматически отпадёт если мы сможем в data указывать template для определенного компонента.
Проект можете посмотреть здесь. Для компонентов arrow-button, button и calendar есть примеры тестов, лежат в папках компонентов. Точка входа тестов entryMakeupTests.js, там все тесты собираются в кучку.
Activity
Chaptykov commentedon Jan 15, 2017
Чисто теоретически, можно, но мне пока не кажется, что это хороший путь. Какую проблему вы хотите решить таким образом?
in19farkt commentedon Jan 15, 2017
Ну вот смотрите, у нас есть проект на вебпак, у него есть несколько точек входа (сборка для разработки с запуском dev-сервера, сборка на продакшен), все компоненты разбиты на папки и логично тесты для компонента располагать в той же папке что и сам компонент.
Так вот, тесты верстки мы вынесли в свою точку входа, там мы ищем по проекту все файлы с данными и шаблонами для makeup-тестов компонентов, все это собираем в одну большую
dataи в одинtemplate()и передаем в функциюMakeup(). Выполняем в терминале командуnpm run test, запускается dev-сервер, заходим в браузере на локалхост и видим все существующие в данный момент тесты верстки в нашем проекте.А проблема заключается в том, что приходится в названии теста полностью прописывать путь до компонента + название теста, чтобы добиться уникальности названия теста и случайно не повторить имя теста какого-нибудь другого компонента. И все из-за того что функция template одна на все тесты. Проблема автоматически отпадёт если мы сможем в data указывать template для определенного компонента.
Проект можете посмотреть здесь. Для компонентов arrow-button, button и calendar есть примеры тестов, лежат в папках компонентов. Точка входа тестов entryMakeupTests.js, там все тесты собираются в кучку.
in19farkt commentedon Jan 17, 2017
Обновил ссылку в комменте выше.