2015-06-29 10 views
9

Obecnie mam moje NodeJS pliki źródłowe w src i testowych w test, np .:Przechowywać testy Mocha obok plików źródłowych

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

Prowadzi to do niewygodne wymagają stwierdzenia typu var foo = require('../../../src/bar/baz/foo'). I na pierwszy rzut oka trudno jest zobaczyć, które pliki źródłowe nie zawierają testów. Chciałbym zamiast zachowywać moje zestawy testów w tym samym katalogu co odpowiednimi plikami źródłowymi:

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

ale teraz działa mocha --recursive src powoduje błędy jak Mocha próbuje uruchomić moje pliki źródłowe w testach.

Widziałem propozycje wykorzystania find lub gulp filtrować listę plików, ale uważam, że to dziwne, że nie można tego zrobić z czystym Mocha. Jaki jest zalecany sposób organizowania plików w ten sposób?

Odpowiedz

14

Wystarczy zdać wzorzec plików testowych do mocha, jak:

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

To będzie uruchomić .spec.js pliki we wszystkich podkatalogach src.

+1

Tak prosty! Podwójne cytaty prawdopodobnie zatrzymają powłokę od rozszerzenia wzoru i pozwolą, aby "glob" Mochy zrobił to. – Tamlyn