Npm + Mocha --watch (не точно просматривает файлы)

Я использую Mocha с npm и делаю "тест npm", чтобы запустить мокко. У него есть --watch включен в mocha.opts, но по какой-то причине он не точно наблюдает. Когда я вношу изменения в свой тестовый файл, а затем сохраняю его, независимо от того, поставил ли я неисправный тест или тест ok, я получаю то же самое: 0 передача (в зеленом), тогда как, когда я впервые запускаю мокко, я получаю 2.

Есть ли что-то, что мне не хватает?

Спасибо!

Ответ 1

Вам нужно убедиться, что npm передает CLI на mocha, используя:

npm test -- --watch

Это будет передавать флаг часов, когда npm запускает mocha.

Ответ 2

Я могу заставить это работать. Интересно, проблема в том, что ваш mocha.opts должен находиться в подкаталоге test?

В любом случае действующее доказательство концепции находится на npm как smikes-mocha-watch-example, и вы можете проверить это с помощью

mkdir test
npm install smikes-mocha-watch-example
cd node_modules/smikes-mocha-watch-example
npm install
npm test

Я предположим, что вы, вероятно, не хотите, чтобы npm test запускал mocha --watch, так как npm test иногда запускается программно, и это будет выглядеть неопределенно, если он работает с --watch. Лучшим решением может быть использование mocha как test script и mocha --watch в качестве нового script, например, "watch":

$ cat package.json
{
  "scripts": {
    "test": "mocha",
    "watch": "mocha --watch"
   }
}
$ npm test
... runs mocha
$ npm run watch
... runs mocha --watch