2014-10-03 39 views
25

Attualmente sto usando azoto, che non dovrebbe avere importanza, ma avevo bisogno di installare moka così ho digitato:non può risolvere il percorso in Mocha

npm install - g mocha. 

Tutto installato e quando provo a fare funzionare moka nel mio comando linea ottengo il seguente errore:

/home/action/.parts/lib/node_modules/mocha/bin/_mocha:454
if (!files.length) throw new Error("cannot resolve path (or pattern) '"

Error: cannot resolve path (or pattern) 'test/unit'
at lookupFiles (/home/action/.parts/lib/node_modules/mocha/bin/_mocha:454:32)
at runAgain (/home/action/.parts/lib/node_modules/mocha/bin/_mocha:305:24)
at Array.forEach (native)
at Object. (/home/action/.parts/lib/node_modules/mocha/bin/_mocha:304:6)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3

Qualcuno sa come risolvere questo?

+0

Da segnalare che questo errore si mostra anche quando la directory di destinazione non ha alcun test in là. – xmaestro

risposta

14

L'errore che si stanno ottenendo è coerente con non avere un file denominatotest/unit e facendo questo:

$ mocha test/unit 

Verificare che il file esista. (In realtà, senza un'estensione .js, mi aspetto una directory piuttosto che un file .) Verificare di essere nella posizione corretta quando si impartisce il comando.

47

Per impostazione predefinita, la mocha include ./test/*.js. Quindi, se è qui che i test si svolgono, è sufficiente eseguire lo mocha.

Se si eseguono i test su test/unit, è possibile eseguire mocha ./test/unit/*.js.

7

Per tutti coloro che ottiene questo errore quando prova a fare funzionare:

> npm test 

Assicurarsi che il file package.json include uno script di test nel formato:

<project-root>/<custom-path-to-test>/*.js

Per esempio :

+1

mocha supponiamo che tu stia eseguendo il test da "test/*. Js" se il percorso è diverso allora devi fornire il percorso completo, nel mio caso era "mocha ./projectTest/test/*.js" – Devnegikec

2

Per quelli che hanno installato moka e hanno fatto mak eFile come questo:

test: 
    @./node_modules/.bin/mocha -u tdd 
.PHONY: test 

ma sempre questo errore:

Error: cannot resolve path (or pattern) 'test' 

è necessario aggiungere la cartella "test" nella cartella del progetto. E i file di test in quella prova cartella

E.G. 
/home/you/nodejs/chapter3 
    ├── lib 
    ├── makefile 
    ├── node_modules 
    ├── package.json 
    └── test 
     ├── db.test.js

+1

Ho ricevuto un errore prima di aggiungere la cartella 'test'. Dopo aver aggiunto la cartella 'test', il test della moka ora funziona correttamente. Grazie! – Atlas7

-1

basta spostare tutti i test nella cartella test, se non avete crearne uno.

e nel file package.json basta inserire 'moka'

"scripts":{ 
    "test": "mocha" 
    }, 

ed eseguire

npm test 

nel terminale.

-1

Se si esegue npm test, esso eseguirà i file *.js solo nella directory di test non nelle sottodirectory.

Se si desidera eseguire i file di test *.js nelle sottodirectory della cartella di test.

seguire i seguenti passi:

  1. Creare un file mocha.opts nella directory test
  2. Aggiungete la seguente riga nel file di mocha.opts --recursive
Problemi correlati