Пишите кроссплатформенные сквозные тесты на Javascript

В настоящее время написание тестов для кода является неотъемлемой частью программирования. Существуют различные типы методологий тестирования программного обеспечения, такие как модульные тесты, интеграционные тестыисквозные тесты. В этой статье будет рассказано, как мы можем применить сквозное тестирование к простому нативному приложению.

Мы будем использовать библиотеку Detox, разработанную и поддерживаемую командой Wix.

Приложение довольно простое! Это позволяет пользователям лайкать свое любимое приложение для Nintendo 64. Тем не менее, на самом деле есть одно определенное поведение, которое нужно протестировать в приложении. Функция Нравится!

Пользовательская история

Перечислим все, какие могут быть действия пользователя для этого функционала:

  1. Пользователь открывает приложение.
  2. Пользователь видит игровую карточку, и на игровой карточке есть кнопка Нравится и текст общего количества лайков, доступных на ней. (для сравнения текста после действия пользователя)
  3. Пользователь нажимает кнопку нравится.
  4. Пользователь замечает, что текст нравится изменился. В этом случае количество лайков увеличивается на один.
CAVEAT: This user story can be considered an integration test in theory. Yet since the app itself is only responsible for allowing users to like their game, it is treated as end-to-end testing.

Код

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

  1. Пользователь открывает приложение.

2. Пользователь видит карточку игры, и на карточке игры есть кнопка Нравится и текст общего количества лайков, доступных на ней. . (Для сравнения текста после действия пользователя)

3.Пользователь нажимает кнопку Нравится.

4. Пользователь замечает, что текст нравится изменился. В этом случае количество лайков увеличивается на единицу.

Полный код

Демо

Посмотрим все в действии.

В этой статье были рассмотрены предварительные этапы сквозного тестирования в нативных приложениях. Для простоты само приложение достаточно простое, чтобы продемонстрировать основные аспекты сквозного тестирования. Действительно, это может быть более запутанным, чем это, в реальных / производственных приложениях.

Вы можете взглянуть на окончательный исходный код этого приложения, используя ссылку ниже.

Всем дня без ошибок!

Исходный код на гитхабе

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу