Инструменты модульного тестирования JavaScript для TDD

Я изучил и рассмотрел множество модульных тестов JavaScript и инструментов тестирования, но не смог найти подходящий вариант, чтобы оставаться полностью совместимым с TDD. Итак, есть ли инструмент модульного тестирования JavaScript, полностью совместимый с TDD?

717
задан 05.05.2020, 14:01

6 ответов

Необходимо взглянуть на env.js. См. мой блог для примера, как записать модульные тесты с env.js.

3
ответ дан 05.05.2020, 14:02
  • 1
    Этот won' t достигают желаемого эффекта, и неразборчивое использование z-индексов является, вероятно, не хорошей идеей любой - не говоря уже об этом использовании, вероятно, won' t имеют любой эффект вообще. – John Dvorak 02.12.2019, 19:39

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

2
ответ дан 05.05.2020, 14:03
  • 1
    тогда единственный эффект состоит в том, что значения изменяются немного от asker' s ситуация, но автор вопроса хочет, чтобы внутренние элементы казались непрозрачными. Этот won' t достигают этого. – John Dvorak 02.12.2019, 19:40
  • 2
    SimpleTest - другая большая опция. I' m довольный I' m не делающий следственную работу здесь;-) – Mark Levison 05.05.2020, 14:03

YUI имеет среда тестирования также. Это видео из Театра Yahoo! является хорошим введением, хотя существует много основ о TDD впереди.

Эта платформа универсальна и может быть выполнена против любой библиотеки JavaScript или JS.

6
ответ дан 05.05.2020, 14:06

Смотрите на платформа модульного теста Ремня безопасности объекта Dojo (DOH) , который является в значительной степени платформой независимый ремень безопасности для поблочного тестирования JavaScript и не имеет никаких зависимостей от Dojo. Существует очень хорошее описание его в приложения Web 2.0 Поблочного тестирования с помощью Ремня безопасности Цели Dojo .

, Если Вы хотите автоматизировать тестирование UI (больной вопрос многих разработчиков) — выезд doh.robot (временный вниз. обновление: другая ссылка http://dojotoolkit.org/reference-guide/util/dohrobot.html ) и dijit.robotx (временный вниз) . Последний разработан для приемочных испытаний. Обновление:

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

63
ответ дан 05.05.2020, 14:06
  • 1
    Спасибо за предложение Ремня безопасности Объекта Dojo я никогда не находил бы его. Я ценю другие предложения - но один шаг за один раз. – Mark Levison 05.05.2020, 14:06
  • 2
    неработающие ссылки здесь. –  05.05.2020, 14:07
  • 3
    Одна вещь I don' t приблизительно как DOH то, что номера строки являются not' t сообщил, когда утверждения перестали работать. Комментирование их вручную и повторное выполнение тестовых работ. – Aram Kocharyan 05.05.2020, 14:07
  • 4
    Спасибо за создание отчетов о битых ссылках. Я обновил одного из них и заменю ссылки на документы роботов, как только я они произошли на новом веб-сайте. – Eugene Lazutkin 05.05.2020, 14:07
  • 5
    I' ve на самом деле использовал это в предыдущем проекте и нашел его неоценимым. Но с другой стороны, я can' t выдерживают сравнение - haven' t использовал любую другую платформу TDD. – Rakesh Pai 05.05.2020, 14:08

Вы могли бы также интересоваться платформой поблочного тестирования, которая является частью qooxdoo, платформа RIA с открытым исходным кодом, подобная Dojo, ExtJS, и т.д. но с вполне всесторонним набором инструментальных средств.

Попытка интерактивная версия testrunner. Подсказка: совершите нападки серая стрелка, наверху покинутая (должен больше делаться ясным). Это - кнопка "игры", которая запускает выбранные тесты.

Для обнаружения больше о классах JS, которые позволяют Вам определить свои модульные тесты посмотрите онлайн средство просмотра API .

Для автоматизированного тестирования UI (на основе RC Селена), проверьте Средство моделирования проект.

3
ответ дан 05.05.2020, 14:07

Вы имеете, "работает на фактическом браузере" как на про, но по моему опыту который является доводом "против", потому что это медленно. Но то, что делает его ценным, является отсутствием достаточной эмуляции JS от альтернатив небраузера. Могло случиться так, что, если Ваш JS достаточно сложен, что только в тесте браузера будет достаточен, но существует пара большего количества опций рассмотреть:

HtmlUnit: "Это имеет довольно хорошую поддержку JavaScript (который постоянно улучшается), и в состоянии работать даже с довольно сложными библиотеками AJAX, моделируя или Firefox или Internet Explorer в зависимости от конфигурации, которую Вы хотите использовать". Если его эмуляция будет достаточно хороша для Вашего использования тогда, то это будет намного быстрее, чем управление браузером.

, Но возможно HtmlUnit имеет достаточно хорошую поддержку JS, но Вам не нравится Java? Тогда, возможно:

Быстрота : API Watir, работающий на JRuby, поддержанном HtmlUnit.

или так же

Schnell: другая обертка JRuby HtmlUnit.

, Конечно, если HtmlUnit не достаточно хорош и необходимо управлять браузером тогда, Вы могли бы полагать Watir управлять своим JS.

6
ответ дан 05.05.2020, 14:07

Теги

Похожие вопросы