Я планирую протестировать приложение ReactJS и хотел узнать, какой инструмент является лучшим на рынке для проведения сквозных тестов? Проведя небольшое исследование, я обнаружил, что существует множество инструментов для тестирования приложений ReactJS, но какой из них лучше всего использовать для сквозных тестов?
Отвечать:
Когда дело доходит до автоматизированного тестирования, не существует понятия «лучший инструмент». Все зависит от контекста вашего проекта и от того, чего вы хотите достичь с помощью инструмента.
Я тестировал приложения Angular и ReactJS и использовал только Selenium WebDriver как инструмент автоматизации тестирования для создания сквозных тестов. Однако, похоже, растет число инструментов и фреймворков автоматизации тестирования на основе JS для тестирования приложений ReactJS. Эти инструменты кажутся очень популярными среди «интерфейсных» разработчиков, поскольку они основаны на языке, с которым разработчики знакомы, JavaScript.
Это означает, что не только тестировщики могут писать автоматизированные сквозные тесты, но разработчики также могут помочь, когда не хватает времени или ресурсов.
Ниже приведен список инструментов и фреймворков автоматизации тестирования для тестирования приложения ReactJS:
WebdriverIO - это утилита для тестирования с открытым исходным кодом для Node.js . Это позволяет писать супер-простые тесты на селен с помощью Javascript в вашей любимой тестовой среде BDD или TDD.
Nightwatch.js простой в использовании Node.js решение для сквозного тестирования (E2E) для браузерных приложений и веб-сайтов. Он использует мощный W3C WebDriver API для выполнения команд и утверждений на элементах DOM.
Nightmare - это библиотека для автоматизации браузера высокого уровня от Сегмент .
Под покровом он использует Электрон , что похоже на PhantomJS но примерно в два раза быстрее и современнее.
Niffy это инструмент различения восприятия, построенный на Nightmare. Это помогает вам обнаруживать изменения пользовательского интерфейса и ошибки в выпусках вашего веб-приложения.
Мечта это бесплатное расширение для Chrome, созданное @ stevenmiller888 который генерирует сценарии Nightmare для вас во время просмотра.
Facebook использует Jest для тестирования всего кода JavaScript, включая приложения React. Одна из философий Jest заключается в предоставлении интегрированного опыта с нулевой конфигурацией. Мы заметили, что когда инженерам предоставляются готовые инструменты, они в конечном итоге пишут больше тестов, что, в свою очередь, приводит к более стабильной и здоровой кодовой базе. Jest также распараллеливает выполнение тестов между исполнителями, чтобы максимизировать производительность.
Хотя Jest популярен среди разработчиков Facebook для написания автоматических тестов для приложений ReactJS, у него есть некоторые проблемы (медленный, насмешливый сбивает с толку). Мокко стал популярной альтернативой. Настроить его сложнее, но, возможно, стоит взглянуть на него. Я ожидаю, что в будущем он станет более популярным, если Jest не преодолеет некоторые из этих основных проблем. Видеть Тестирование веб-приложений на React с помощью Mocha для начала.
Для приемочного тестирования вы можете рассмотреть Protector. Это в первую очередь инструмент Angular, созданный на основе Selenium, и он имеет более приятный API. К счастью, его можно настроить для работы с React. Хорошая вещь в этом подходе заключается в том, что он позволит вам протестировать ваше приложение в самых разных браузерах.
Enzyme - это утилита для тестирования JavaScript для React, которая упрощает утверждение, управление и просмотр выходных данных компонентов React. Первоначально разработанный Airbnb, становится все более популярным. Вы можете использовать его с любым тестером (мокко, жасмин,…), и есть полезный чай-фермент плагин.
Enzyme + Mocha кажется лучшей комбинацией для тестирования веб-приложений, написанных на ReactJS. Его относительно легко изучить, даже если кто-то плохо знаком с ReactJS, и Mocha может легко справиться с этими инструментами за короткое время.