How can I run mocha with npm script?
Solution 1
Your script definition should not include node
:
"scripts": {
"test": "./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec"
},
Or, if mocha is installed globally:
"scripts": {
"test": "mocha tests/**/*Test.js --reporter spec"
},
See also: Configure node npm package.json so that "npm test" works on both unix and windows.
Update: Ah is see you are working on windows, try changing the script as mentioned in the above post:
"testOnWindowsUseThis" : "node node_modules/mocha/bin/mocha"
Solution 2
Use npx mocha
if npm run test
doesn't work.
Kris
Updated on June 18, 2021Comments
-
Kris almost 3 years
I have implemented a testcase for my script and it runs pretty fine when I execute it in Webstorm with the configuration for mocha.
The name of my test script is adminTest.js.
Now I like to have a npm script to run it from the console or later from the build server.
Therefor I have made a script entry in my package.json
Here is the complete file:
{ "name": "cdh", "version": "0.0.1", "description": "CDH connector", "main": "cdh.js", "private" : true, "dependencies": { "cli-color": "^1.0.0", "handlebars": "^4.0.3", "sync-request": "^2.0.1", "jslint": "^0.9.3", "xmldom": "^0.1.19", "xpath": "^0.0.9", "mocha": "2.3.3 ", "proxyquire": "1.7.3", "mocha-sinon": "1.1.4", "jasmine" : "2.3.2", "chai" : "3.4.1" }, "devDependencies": {}, "scripts": { "test": "node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec" }, "author": "kme", "license": "ISC" }
When I start the script with
npm run test
from the console it leads to this error:> [email protected] test C:\src\trunk\scripts\testing > node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\ node_modules\\npm\\bin\\npm-cli.js" "run" "test" npm ERR! node v4.2.0 npm ERR! npm v2.14.7 npm ERR! code ELIFECYCLE npm ERR! [email protected] test: `node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] test script 'node ./node_modules/mocha/bin/moch a tests/**/*Test.js --reporter spec'. npm ERR! This is most likely a problem with the cdh package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter sp ec npm ERR! You can get their info via: npm ERR! npm owner ls cdh npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! C:\src\trunk\scripts\testing\npm-debug.log
The
npm-debug.log
file looks like:0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe', 1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'run', 1 verbose cli 'test' ] 2 info using [email protected] 3 info using [email protected] 4 verbose run-script [ 'pretest', 'test', 'posttest' ] 5 info pretest [email protected] 6 info test [email protected] 7 verbose unsafe-perm in lifecycle true 8 info [email protected] Failed to exec test script 9 verbose stack Error: [email protected] test: `node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec` 9 verbose stack Exit status 1 9 verbose stack at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:214:16) 9 verbose stack at emitTwo (events.js:87:13) 9 verbose stack at EventEmitter.emit (events.js:172:7) 9 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:24:14) 9 verbose stack at emitTwo (events.js:87:13) 9 verbose stack at ChildProcess.emit (events.js:172:7) 9 verbose stack at maybeClose (internal/child_process.js:818:16) 9 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) 10 verbose pkgid [email protected] 11 verbose cwd C:\src\trunk\scripts\testing 12 error Windows_NT 6.1.7601 13 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "test" 14 error node v4.2.0 15 error npm v2.14.7 16 error code ELIFECYCLE 17 error [email protected] test: `node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec` 17 error Exit status 1 18 error Failed at the [email protected] test script 'node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec'. 18 error This is most likely a problem with the cdh package, 18 error not with npm itself. 18 error Tell the author that this fails on your system: 18 error node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec 18 error You can get their info via: 18 error npm owner ls cdh 18 error There is likely additional logging output above. 19 verbose exit [ 1, true ]
-
Kris over 8 yearsI assume that there is a problem with my mocha. It allways returns with exit code 1 but no further error message
-
Sonata over 8 yearsMaybe you can add some
console.log
to thebin/mocha
script and/or thelib/mocha.js
to see if and how they are called. -
Spain Train about 8 yearsyou do not need the
./node_modules/mocha/bin/
, npm scripts run withnode_modules/.bin
in thePATH
- docs.npmjs.com/misc/scripts#path -
Robot70 about 6 yearsIf mocha 4.x or greater: "scripts": { "test": "mocha --exit" },