Создание универсального пользовательского интерфейса в React, оборачивающего библиотеку пользовательского интерфейса - PullRequest
0 голосов
/ 27 сентября 2018

Я приведу пример из реальной жизни, чтобы дать представление о проблеме, которую я пытаюсь решить.

Моя команда отвечала за приложение React, созданное с Semantic UI как его библиотека пользовательского интерфейса.Вот список написанных тестов (обратите внимание, что у нас есть собственное определение типов тестов)

  • Юнит-тесты : тестирование для каждого компонента с использованием фермента.
  • Системные тесты : в основном для контейнерных компонентов.Фермент, синон и фетч-макет, которые используются для насмешек.
  • Сквозные тесты : Выполнено с кукловодом.

Позже наши менеджеры по продуктам захотели тему на основе Manerial UI .Чтобы сделать это возможным, нам нужно

  1. Заменить компоненты семантического интерфейса пользователя на компоненты пользовательского интерфейса материала
  2. Создать новые помощники по тестированию для нашей системы и устройства.Затем обновите все наши тесты, чтобы использовать новые тестовые помощники
  3. Напишите новых помощников для сквозных тестов.

Это был болезненный процесс, чтобы сделать это возможным, и до сих порчастично сделано.Я думал, что одной из наших ошибок было не определение компонентов, которые являются более общими и оборачивают нашу логику пользовательского интерфейса.Тем не менее, после просмотра API компонента Semantic UI и Material UI мне интересно, было ли это вообще возможно.Поскольку:

  1. Каждая библиотека имеет различную реализацию компонента
  2. Компоненты имеют разные атрибуты
  3. Структура HTML отличается, поэтому тест конца в конец все еще необходимо изменить, когдаUI Library поменяна местами.

Теперь мой вопрос: Кто-нибудь сталкивался с такими же проблемами и как вы решили эту проблему?

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