Модульный тест Javascript

У меня есть приложение javascript в пределах 250 строк, и я хочу добавить к нему тесты. Всякий раз, когда я делаю крошечное изменение, мне приходится запускать тесты как минимум для 10 случаев вручную, которые я хочу автоматизировать.

Я мог бы использовать фреймворки, как предлагалось в разных сообщениях, но решение, которое я хочу, — это минимальное трение и кодовая база. Что-то вроде одного файла для модульного тестирования может работать.

Есть ли способ использовать JS-тестирование без каких-либо фреймворков? Я хочу писать как модульные тесты, так и функциональные тесты. Или, если фреймворки — единственный вариант, какие фреймворки предпочтительнее с точки зрения простоты плагина к существующему коду + кривая обучения.


person CodeMonkey    schedule 31.03.2015    source источник


Ответы (3)


очень сложно настроить автоматические модульные тесты с помощью простого javascript без какой-либо структуры. если вы попытаетесь самостоятельно изобрести колесо существующей среды модульного тестирования javascript, это может потребовать огромных усилий, чем ваши 250 строк кода, для которых вы пишете тест.

поэтому, если вы собираетесь использовать фреймворк, jasmine и qunitjs обещают фреймворк для модульного тестирования для javascript.

http://jasmine.github.io/

https://qunitjs.com/

person Alagesan Palani    schedule 31.03.2015

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

Если вы используете узел, настроить среду модульного тестирования очень просто. Мне нравится использовать Karma в качестве средства запуска тестов с инфраструктурой тестирования mocha и библиотекой утверждений chai.

person Sam Jacobs    schedule 31.03.2015

Я бы пошел с фреймворком. Хотя ваш вариант использования может быть простым сейчас, вы можете оказаться в проекте, где вам потребуется больше функциональности в будущем. Вы должны быть знакомы по крайней мере с одной средой/библиотекой тестирования для любого языка, которым вы серьезно пользуетесь. То же самое касается систем сборки и управления пакетами.

Для javascript я использовал только mocha. Он довольно всеобъемлющий, простой в освоении, может использоваться в браузере или с узлом, а тесты на самом деле выглядят очень чистыми и легко читаемыми.

Кроме того, с mocha вы можете выбрать собственную библиотеку утверждений, я использую chai. Он построен с учетом tdd и bdd, поэтому написание утверждений больше похоже на написание естественных предложений, чем на код. Конечно, вы по-прежнему можете использовать любые средства утверждения по умолчанию, которые предоставляет вам ваша среда js, если таковые имеются.

person Michael B.    schedule 31.03.2015