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

Ваш первый порт вызова должен быть документацией , который объясняет это разумно ясно:

Брошено, чтобы указать, что к массиву был обращен незаконный индекс. Индекс является либо отрицательным, либо большим или равным размеру массива.

Так, например:

int[] array = new int[5];
int boom = array[10]; // Throws the exception

Как избежать этого. ., не делайте этого. Будьте осторожны с вашими индексами массива.

Одной из проблем, с которыми иногда сталкиваются люди, является то, что массивы 1-индексируются, например

int[] array = new int[5];
// ... populate the array here ...
for (int index = 1; index <= array.length; index++)
{
    System.out.println(array[index]);
}

Это пропустит первый элемент (индекс 0 ) и выдают исключение, когда индекс равен 5. Действующие индексы здесь 0-4 включительно. Правильный, идиоматический оператор for здесь будет:

for (int index = 0; index < array.length; index++)

(Предполагается, что вы нуждаетесь в индексе, конечно. Если вы можете использовать расширенный для цикла, сделайте это.)

1
задан jallmer 4 March 2019 в 13:07
поделиться

1 ответ

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"
   }

Или у вас может быть Карма, или Jest, или тап, или что-у-вас. [ 1120]

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

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

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

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

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

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

Как передать код и юнит-тест в тест npm?

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

0
ответ дан Louis 4 March 2019 в 13:07
поделиться
Другие вопросы по тегам:

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