тестирование JavaScript - PullRequest
       4

тестирование JavaScript

5 голосов
/ 20 апреля 2011

В настоящее время я работаю над своим первым маленьким проектом Javascript, который в целом представляет собой небольшой скрипт, который управляет расширением Thunderbird. Поскольку я программист на Java, мне нравится тестировать свой код, чтобы поддерживать его в рабочем состоянии и проверять, работает ли он должным образом.

Я хочу протестировать простой скрипт, который в основном выбирает URI, подключается к серверу, загружает zip-файл и, наконец, извлекает его в файловую систему. Я не использую Javascript - «классы», у меня просто есть эти 2-3 функции, собранные в основную функцию.

Я хотел бы смоделировать сервер, чтобы проверить поведение сценария с различными ответами сервера, поврежденными файлами и т. Д.

Теперь моя проблема в том, что я действительно не знаю, как тестировать в javascript. Я попытался получить обзор доступных фреймворков для тестирования и, наконец, решил, что Jasmine - это тот, который я хочу использовать, потому что он, похоже, самый зрелый.

Я отлично справляюсь с юнит-тестами в Java и считаю себя средним инженером по тестированию, но мне сложно получить доступ ко всем функциям тестирования скриптов.

У кого-нибудь есть хороший совет, как это сделать? Может быть, полезный учебник или хороший пример?

1 Ответ

1 голос
/ 21 апреля 2011

Подход, вероятно, тот же, что и в Java: макетируйте класс / функцию, которая извлекает данные.

Я предполагаю, что вы используете XMLHttpRequest, поэтому самый простой способ сделать этобыть примерно таким:

  • Иметь функцию, которая выполняет запрос и перезванивает с данными
  • Предоставляет способ вставить это в ваш код или заменить его наmock
  • Замените функцию извлечения данных на фиктивную функцию, которая просто вызывает ваши фиктивные данные

Я бы порекомендовал книгу "Разработка через JavaScript на основе тестирования" для дальнейшего изучения

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