Тестирование через командную строку npm - PullRequest
0 голосов
/ 08 июня 2018

У меня есть два типа тестовых наборов - обычный и охват.

В настоящее время я разрешаю один из них через npm test, а один из них через npm start:

  "scripts": {
    "test": "node scripts/run-truffle-tests.js",
    "start": "node scripts/run-sol-coverage.js"
  }

У меня такое ощущение, что npm start изначально не предназначался для этой цели.

Есть ли лучший способ реализовать это?

Я думал о передаче аргумента npm test, но я не уверен, что npm передаст его сценарию, для которого он настроен.

Спасибо!

1 Ответ

0 голосов
/ 08 июня 2018

Добавить еще scripts.

У меня обычно есть tests для фактических, полных, одиночных юнит-тестов для работы с CI и другими сценариями для вариантов:

{
  "scripts": {
    "test": "node scripts/run-truffle-tests.js && npm run test:coverage",
    "test:continuous": "karma start some.config --run-continuous",
    "test:coverage": "node scripts/run-sol-coverage.js"
    "start": "node index.js"
  }
}

Вы также можете связать команды с помощью &&, что приведет к последовательному запуску сценария и распространению кода ошибки «total».Другими словами, используя test, который у меня есть выше, запустится как модульный тест, так и тест покрытия.Если любой из них вернет ненулевой код завершения, npm будет считать, что весь тестовый процесс завершился неудачей.


Имейте в виду, что для пользовательских сценариев не указаны точно start и test кака также другие обозначенные сценарии, найденные в документации здесь: npm # scripts , должны выполняться с

npm run scriptname

вместо просто

npm scriptname

Так что в моемВ приведенном выше примере вы можете проверить покрытие с помощью:

npm run test:coverage

Кроме того, : - это просто соглашение.Насколько я знаю, это не особенное.


Кроме того, вы можете

передать [аргумент] сценарию, для которого он установленinvoke

Всякий раз, когда вы используете npm test, в основном происходит то, что npm запускает любое значение String, установленное в scripts.test в package.json, как процесс, как если бы вы имелинабрал эту строку в оболочку самостоятельно.Затем он смотрит на код возврата и, если он равен 0, сообщает, что все в порядке;если он не равен нулю, выводится ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...