Sinon не может найти модуль '@ sinonjs / referee-sinon', если его просто использовать - PullRequest
0 голосов
/ 16 февраля 2019

Я новичок в SinonJ, когда я пытаюсь написать демо-код, он не может работать, я не знаю почему.

app.js const db = require ('./ db');

    module.exports.signUpUser = (user) => {
        db.saveUser(user.email, user.password);
    }

app.test.js

    const sinon = require('sinon');
    // without any other codes, it will throw Error: Cannot find module '@sinonjs/referee-sinon'

Я пользователь mocha для запуска тестов.

package.json

{
  "name": "sinon-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha **/*.test.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "mocha": "^5.2.0",
    "sinon": "^7.2.3"
  }
}

1 Ответ

0 голосов
/ 11 апреля 2019

Скорее всего, мокко не находит ваши тестовые файлы.Не зная структуру вашей папки, трудно сказать.Тем не менее, вы всегда должны заключать в кавычки в скриптах npm.Не уверен, что это решит вашу проблему здесь.Я думаю, это зависит от того, где находятся ваши файлы * .test.js.Попробуйте упростить и не использовать глобус для начала.Просто укажите папку.Например, если ваш тестовый файл находится в вашем каталоге src, используйте

"test": "mocha './src/*.test.js'"

Если вы хотите иметь подкаталоги в src, вы можете использовать

"test": "mocha './src/**/*.test.js'"

Если вы неЕсли вы не хотите использовать одинарные кавычки, вы можете избежать таких кавычек, как это

"test": "mocha \"./src/**/*.test.js\""

Предположительно, когда у меня есть тестовые файлы в корне проекта и в подпапках, я просто указываю и то, и другое следующим образом:

"test": "mocha  *.test.js './src/**/*.test.js'"

В конечном итоге мне нравится запускать все мои тесты в строгом режиме, чтобы моя команда тестирования выглядела так:

"test": "mocha --use_strict  *.test.js './src/**/*.test.js'"
...