Простой тест мокко не выполняется, команда не распознана *. * - PullRequest
0 голосов
/ 10 апреля 2020

Я работаю над учебником / тренингом по Puppeteer с помощью jest и mocha-steps и с самого начала сталкиваюсь с проблемой запуска простого теста, чтобы убедиться, что фреймворк работает должным образом.

Вот тест

describe('Config test', () => {
    it('should work', () => {
        console.log('done')
    })
})

Вот мой пакет. json file

{
  "name": "pptr-mocha",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "./node_modules/mocha/bin/mocha --timeout=30000 ./build/tests/**.js",
    "clean": "rm -rf build",
    "build": "babel --preset es2015 -d build/ src/"
  },
  "author": "BBB",
  "license": "ISC",
  "dependencies": {
    "chai": "^4.2.0",
    "mocha": "^7.1.1",
    "mocha-steps": "^1.3.0",
    "puppeteer": "^2.1.1"
  },
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-es2015": "^6.24.1"
  }
}

Когда я запускаю npm run build, создается структура папок build, как и моя версия теста для es5. Кажется, что все работает, как описано.

Когда я запускаю npm run test, тест завершается неудачно со следующей ошибкой, и я не могу понять, почему.

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Users\\bob\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'test'
1 verbose cli ]
2 info using npm@6.14.4
3 info using node@v12.16.0
4 verbose run-script [ 'pretest', 'test', 'posttest' ]
5 info lifecycle pptr-mocha@1.0.0~pretest: pptr-mocha@1.0.0
6 info lifecycle pptr-mocha@1.0.0~test: pptr-mocha@1.0.0
7 verbose lifecycle pptr-mocha@1.0.0~test: unsafe-perm in lifecycle true
8 verbose lifecycle pptr-mocha@1.0.0~test: PATH: C:\Users\bob\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\automation\pptr\projects\pptr-mocha\node_modules\.bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Program Files\TortoiseGit\bin;C:\Program Files\Git\cmd;C;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Dart\dart-sdk\bin;C:\Users\bob\AppData\Roaming\Pub\Cache\bin;C:\Program Files\nodejs\;C:\Program Files\dotnet\;C:\Program Files\Java\jdk1.8.0_201\bin;C:\devtools\apache-maven-3.6.3\bin;C:\Users\bob\AppData\Local\Microsoft\WindowsApps;C:\Users\bob\AppData\Local\atom\bin;C:\Users\bob\AppData\Local\Microsoft\WindowsApps;C;;C:\Users\bob\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\bob\AppData\Roaming\npm;C:\Users\bob\.dotnet\tools
9 verbose lifecycle pptr-mocha@1.0.0~test: CWD: C:\automation\pptr\projects\pptr-mocha
10 silly lifecycle pptr-mocha@1.0.0~test: Args: [
10 silly lifecycle   '/d /s /c',
10 silly lifecycle   './node_modules/mocha/bin/mocha --timeout=30000 ./build/tests/**.js'
10 silly lifecycle ]
11 silly lifecycle pptr-mocha@1.0.0~test: Returned: code: 1  signal: null
12 info lifecycle pptr-mocha@1.0.0~test: Failed to exec test script
13 verbose stack Error: pptr-mocha@1.0.0 test: `./node_modules/mocha/bin/mocha --timeout=30000 ./build/tests/**.js`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\bob\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:321:20)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\bob\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:321:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid pptr-mocha@1.0.0
15 verbose cwd C:\automation\pptr\projects\pptr-mocha
16 verbose Windows_NT 10.0.18362
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\bob\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "test"
18 verbose node v12.16.0
19 verbose npm  v6.14.4
20 error code ELIFECYCLE
21 error errno 1
22 error pptr-mocha@1.0.0 test: `./node_modules/mocha/bin/mocha --timeout=30000 ./build/tests/**.js`
22 error Exit status 1
23 error Failed at the pptr-mocha@1.0.0 test script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Учебное пособие сделано на Ма c, а я нахожусь в Windows, поэтому я не уверен, является ли это проблемой или нет.

Кроме того, работает в vscode, если это имеет значение.

Буду очень признателен за любую помощь, которую кто-либо может предложить.

1 Ответ

0 голосов
/ 10 апреля 2020

Проблема была с этими двумя строками, учитывая, что я работаю в среде Windows.

"test": "./node_modules/mocha/bin/mocha --timeout=30000 ./build/tests/**.js",
"clean": "rm -rf build",

Проблема 1: В строке "test": он не может найти узел, так как он не должно быть определено в моем системном пути. Таким образом, строка была изменена на эту.

"test": "node ./node_modules/mocha/bin/mocha --timeout=30000 ./build/tests/**.js",

В чистой строке определенные там команды предполагают mac / linux OS, поэтому эта строка была изменена на следующую.

"clean": "rd /s /q build",

rd = remove directory
/s = get all files and sub-dirs
/q = do not prompt for confirmation
...