React Native Harness
Unit-тесты в React Native выполняются в среде Node.js, что ограничивает их возможности. Они не видят нативную часть приложения и не могут протестировать поведение модулей, зависящих от iOS/Android.
Можно, использовать E2E-тесты (Detox, Maestro), но их написание и поддержка обходятся дорого.
Например, если нужно протестировать работу нативного модуля, требуется пройти длинный путь в UI и процесс становится медленным и неудобным.
Команда Callstack предложила элегантное решение
React Native Harness - фреймворк, который позволяет запускать unit-тесты поверх реального приложения, прямо на симуляторе или устройстве.
Как это работает:
1️⃣ С помощью Babel-плагина собирается специальный JS-bundle, который вместо обычного UI запускает Harness Test Runner
2️⃣ Runner выполняет тесты с расширением harness
3️⃣ Результаты выполнения передаются в CLI в формате, совместимом с Jest reporter
Синтаксис написания тестов повторяет Jest, поэтому самое написание тестов не вызовет никаких проблем.
PS: 2-х часовое видео с live coding примерами написания и запуска тестов с помощью Harness
React Native World | Навигация по каналу
Post #77
685

- 👍 4
- 🔥 2
- ❤ 1