Тестирование JS на стороне клиента с помощью ленты (окно не определено)

#javascript #unit-testing #leaflet

#javascript #модульное тестирование #брошюра

Вопрос:

Я пытаюсь реализовать модульные тесты для моего плагина leaflet, и мой текущий выбор — использовать ленту. К сожалению, как только мне потребуется листовка в моем тесте:

 var L = require('leaflet');
var test = require('tape');
  

Я получаю:

Ошибка ссылки: окно не определено.

У меня была такая же проблема с AVA. В репозитории Github-листовки единственное, что я обнаружил, это проблема, которая на самом деле не помогает. Многие плагины для листовок имеют тесты с лентой, поэтому я не уверен, что я делаю неправильно при его настройке.

Можете ли вы, ребята, указать мне правильное направление?

Комментарии:

1. Проблема в том, что вы пытаетесь запустить свой тест в среде NodeJS tape . Плагины для листовок, использующие ленту, которую вы связали, либо используют karma (как leaflet это делается), либо tape-run запускают тест внутри браузера. Я еще не пробовал, но заинтересован в запуске тестов, jsdom но это должно быть выполнимо. Итак, либо вы используете tape-run , либо какой-либо тестовый бегун, чтобы тесты использовали браузер.

Ответ №1:

Я не уверен, но один из результатов поиска имеет tape-run зависимость as. Возможно, это правильное направление: https://www.npmjs.com/package/tape-run

Комментарии:

1. это сработало, спасибо! Отстой, что мне нужен browserify для этого.