Как я могу передать код и юнит-тест в npm test? - PullRequest
0 голосов
/ 04 марта 2019

Я хотел бы провести модульное тестирование на своем сервере без записи временных файлов.Есть ли способ передать и код для тестирования, и модульный тест на npm test?Документация по тестированию npm довольно проста (https://docs.npmjs.com/cli/test). Кроме того, она не должна быть npm test, если есть альтернативное решение.

Спасибо, Дженс

1 Ответ

0 голосов
/ 11 марта 2019

npm test - это просто удобный способ выполнить набор тестов пакета npm, не беспокоясь о деталях его запуска.Если вы запустите его в проекте, в котором нет записи scripts для test, вы получите Error: no test specified.Если вы настроите package.json с этим:

{
  "scripts": {
    "test": "echo This is a test!"
   }
}

, то npm test будет выводить эхо на консоль This is a test!.В реальном проекте вы устанавливаете скрипт, который запускает инструмент тестирования real .Например, mocha - это тестовый прогон, поэтому после его установки у вас может быть:

  "scripts": {
    "test": "mocha"
   }

Или у вас может быть Karma, Jest, или tap, или what-have-you.

Вы написали в уведомлении о вознаграждении:

Некоторые веб-сайты предлагают онлайн-тестирование для кода JavaScript, действительно ли они выписывают временные файлы с пользовательским кодом для тестирования по модульным тестам с помощью теста npm?

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

  • Travis-ci предлагает услугу, которая запускает весь ваш тестна их сервере.Для этого он проверяет тестируемую ветку из репозитория git, так что да, они получают копию пользовательского кода.Обратите внимание, что это совершенно не зависит от того, какой тестовый бегун вы установили для запуска npm test: запускаете ли вы Mocha, Karma или что-то другое, Трэвис проверяет тестируемую ветвь и затем запускает npm test.

  • SauceLabs и BrowserStack, с другой стороны, сами не запускают пакет, а предоставляют виртуальные машины, которые запускают браузеры для тестирования.Ваш набор тестов все еще работает на вашей машине.Таким образом, они не получают копию тестируемого кода.Опять же, какой бегун вы используете, не имеет значения.Я запускал наборы, используя эти сервисы с Мокко, Кармой, Поведением и т. Д.

Сосредоточив внимание на вашем заголовке:

Как я могу передать код июнит тест до npm тест?

Нет настроек тестирования Я знаю о трубах тестируемом коде. Наиболее распространенный метод предоставления тестируемого кода,и сами тесты извлекают код из хранилища , как это делает Трэвис.(Обратите внимание, что не требует от вас сделать ваш код общедоступным. Службы тестирования могут работать с частными репозиториями.)

...