2012-07-24 16 views
8

Sto provando a eseguire un'applicazione in Windows e questa app ha alcuni test di moka. Ho bisogno di fare. Ho letto questoCome eseguire i test di Mocha su windows node.js (Errore: impossibile trovare il modulo 'C: cygdrive c Utenti)

Mocha requires make. Can't find a make.exe that works on Windows

e questo

Node.js cannot find module - interfering with cygwin on Windows

ho l'applicazione nella directory Github (al di fuori della struttura di directory cygwin) e ho installato la versione Windows di nodo.

Ho provato ad utilizzare powershell e impostando l'alias come suggerito, ma ho sempre ottenere

> module.js:340 
>  throw err; 
>   ^Error: Cannot find module 'C:\cygdrive\c\Users\Nicola\AppData\Roaming\npm\node_modules\mocha\bin\mocha' 
>  at Function.Module._resolveFilename (module.js:338:15) 
>  at Function.Module._load (module.js:280:25) 
>  at Module.runMain (module.js:487:10) 
>  at process.startup.processNextTick.process._tickCallback (node.js:244:9) Makefile:5: recipe for target `test' failed make: *** 
> [test] Error 1 

e ho moka installato in quella directory (BTW perché non si cerca moka nel node_modules subdir?). I problemi sembrano essere la parte C:\cygdrive\c\Users come posso eliminarla?

Ho anche provato a copiare il file a casa mia/directory sotto Cygwin, ma ho avuto

./node_modules/.bin/mocha: line 1: ../mocha/bin/mocha: No such file or directory 
Makefile:5: recipe for target `test' failed 
make: *** [test] Error 127 

cosa devo fare?

risposta

1

È necessario utilizzare msysgit - fornito con marca.

+5

Accetterò la tua risposta, alla fine è stato un tale fastidio che ho semplicemente trasferito ad Ubuntu –

+0

ho vissuto le stesse frustrazioni come avete fatto, e ha finito per fare la stessa cosa, alla fine - è solo il modo migliore di sviluppo su windows :) –

0

quando si scrive "make test" e si riceve questo:

./node_modules/.bin/mocha: line 1: ../mocha/bin/mocha: No such file or directory 
Makefile:5: recipe for target `test' failed 
make: *** [test] Error 127 

significa che non si dispone di Mocha installato nel vostro progetto. Mettere moka nel vostro package.json ed eseguire 'NPM install':

{ 
"name": "appName" 
, "version": "0.0.1" 
, "private": true 
, "dependencies": { 

    "mocha": "1.3.0" 
, "should": "1.0.0" 

} 
} 

dopo che ho ottenuto il mio test in esecuzione su Windows.

13

Il modo migliore che ho potuto fare è installare prima mocha nella directory come dipendenza dev (ad esempio: npm install mocha --save-dev). Quindi, nel comando npm test all'interno di package.json, utilizzare "test": "mocha". In questo modo, è possibile eseguire facilmente npm test nella CLI per la standardizzazione. È ora possibile configurare i test in una directory test/ o disporre di un semplice file test.js nel caso in cui siano disponibili solo alcuni test. Inoltre, non dimenticare di avere un file mocha.opts con il tuo options. Questo dovrebbe funzionare, specialmente se stai usando Git Bash (ho provato su Windows CMD e funziona anche!).

+0

Ho trovato l'aggiunta di project-dir \ node_module \ .bin al percorso fa funzionare le cose come previsto con la voce package_json per test come: "script": { "test": "mocha test -u bdd - R spec "} – Amitabh

+0

@Amitabh Non consiglierei di aggiungere i moduli nodo come variabile PATH. YMMV ma sarai legato a una versione di moka per i progetti. – Bwaxxlo

Problemi correlati