2015-06-29 5 views
9

Al momento ho i miei file di origine NodeJS in src e di test suite in test, ad es .:Mantenere test Mocha fianco file di origine

/src/bar/baz/foo.js 
/test/bar/baz/foo.spec.js 

Questo porta a imbarazzante richiedono dichiarazioni come var foo = require('../../../src/bar/baz/foo'). Ed è difficile vedere a colpo d'occhio quali sono i test mancano nei file di origine. Vorrei mantenere invece i miei test suite nella stessa directory dei file di origine rilevanti:

/src/bar/baz/foo.js 
/src/bar/baz/foo.spec.js 

Ma ora in esecuzione mocha --recursive src provoca errori come Mocha tenta di eseguire i miei file di origine come test.

Ho visto suggerimenti sull'uso di find o gulp per filtrare l'elenco dei file, ma trovo sorprendente che questo non possa essere fatto con Mocha semplice. Qual è il modo consigliato di organizzare i file in questo modo?

risposta

14

basta passare il modello dei file di prova per moka, come:

mocha "src/**/*.spec.js" 

questo sta per eseguire i file .spec.js in tutte le sottodirectory di src.

+1

Così semplice! Le doppie virgolette presumibilmente fermano la shell dall'espandere il pattern e lascia che il 'glob' di Mocha lo faccia. – Tamlyn