2015-11-16 12 views
5

Ho implementato un testcase per il mio script e funziona abbastanza bene quando lo eseguo in Webstorm con la configurazione per moka.Come posso eseguire mocha con lo script npm?

Il nome del mio script di test è adminTest.js.

Ora mi piace avere uno script npm per eseguirlo dalla console o successivamente dal server di build.

Perciò ho fatto una voce di script nella mia package.json

Ecco il file completo:

{ 
    "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" 
} 

Quando inizio lo script con npm run test dalla console porta a questo errore:

> [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 

Il file npm-debug.log assomiglia:

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 ] 
+0

glob dovrebbe essere tra virgolette, ad esempio: "script": { "test": "./node_modules/mocha/bin/mocha \" ./ test/unit/**/*. Spec.js \ "--reporter min" } – olefrank

risposta

13

tua definizione script non deve includere node:

"scripts": { 
    "test": "./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec" 
}, 

O, se moka è installato a livello globale:

"scripts": { 
    "test": "mocha tests/**/*Test.js --reporter spec" 
}, 

Vedi anche: Configure node npm package.json so that "npm test" works on both unix and windows.

Aggiornamento: Ah è vedere che si sta lavorando su Windows, provare a cambiare lo script come accennato nel post di cui sopra:

"testOnWindowsUseThis" : "node node_modules/mocha/bin/mocha" 
+0

Suppongo che ci sia un problema con il mio moka. Ritorna sempre con il codice di uscita 1 ma nessun ulteriore messaggio di errore – Kris

+0

Forse è possibile aggiungere alcuni 'console.log' allo script' bin/mocha' e/o 'lib/mocha.js' per vedere se e come vengono chiamati . – Sonata

+2

non hai bisogno di './Node_modules/mocha/bin /', gli script di npm vengono eseguiti con 'node_modules/.bin' nel' PATH' - https://docs.npmjs.com/misc/scripts#path –

Problemi correlati