2014-02-15 3 views
3

У меня есть проект node.js/express/mocha. Из корневого каталога моего проекта, который я делаюПочему не работает bin/mocha все мои тесты?

./node_modules/.bin/mocha --compilers coffee:coffee-script-redux/register test/**/*.coffee --reporter list 

    1) UnitsController /units.json "before all" hook 
    ․ CordBloodUnit should set attrs: 0ms 
    ․ CordBloodUnit #getMatchCount should get the match count of alleles: 0ms 
    ․ pg-adapter #runQuery should get results of the query: 7ms 
    ․ pg-adapter #runQuery should get Cord Blood Units: 4ms 

    4 passing (2s) 
    1 failing 

    1) UnitsController /units.json "before all" hook: 
    Error: timeout of 2000ms exceeded 
    at Object.<anonymous> (/Users/pguruprasad/Projects/jeevan-js/node_modules/mocha/lib/runnable.js:175:14) 
    at Timer.list.ontimeout (timers.js:101:19) 

Я вижу, что все тесты выполняются. Но когда я хочу поместить длинную команду в сценарий для выполнения, mocha запускает только два теста и игнорирует оставшиеся. Что здесь может быть не так?

➜ ~jjs git:(master) ✗ touch test1 
➜ ~jjs git:(master) ✗ echo "./node_modules/.bin/mocha --compilers coffee:coffee-script-redux/register test/**/*.coffee --reporter list" >> test1 
➜ ~jjs git:(master) ✗ cat test1 
./node_modules/.bin/mocha --compilers coffee:coffee-script-redux/register test/**/*.coffee --reporter list 
➜ ~jjs git:(master) ✗ chmod +x test1 
➜ ~jjs git:(master) ✗ ./test1  

    ․ CordBloodUnit should set attrs: 0ms 
    ․ CordBloodUnit #getMatchCount should get the match count of alleles: 0ms 

    2 passing (2ms) 
+0

Вы могли бы добавить к дереву для обозначения 'test /'? Учитывая, что ответ @ dankohn не работает? – Tracker1

ответ

1

Возможно, ваша проблема связана с переменными пути или среды, с которыми работает ваш скрипт. Возможно, он использует глобальную мокко вместо мокки, установленной в вашем проекте, или может иметь другую cwd.

Я настоятельно рекомендую добавить следующее в раздел скриптов вашего package.json:

"scripts": { 
    "test": "mocha --compilers coffee:coffee-script-redux/register test/**/*.coffee --reporter list", 
    } 

Вы можете легко получить доступ к этому с npm test. Обратите внимание, что npm всегда запускает локально установленный, а не глобальный мокко. Он также позволяет делать умные вещи, например, запускать несколько сценариев, как в How to run mocha and mocha-phantomjs tests from one "npm test" command in node.js?. Наконец, он надежно работает в ОС Windows, а также Unix и OS X.

+0

нет, все еще работает только два теста. mocha --compilers coffee: coffee-script-redux/register test/**/*. Coffee --репортерный список . CordBloodUnit должен установить attrs: 0ms . CordBloodUnit #getMatchCount должен получить совпадение кол-ва аллелей: 0ms 2 проходящий (2 мс) – gprasant

+0

Я думаю, мне, наверное, нужно спросить кого-то из проекта мокки, почему это происходит – gprasant

0

Убедитесь, что все тестовые файлы имеют расширение на .coffee, а не .js. Одна вещь, которую мне нравится делать, - поместить все мои тесты с этим именем шаблона: my_file_test.coffee. Все с _test.coffee.

-1

Это случилось со мной, и проблема была в том, что у меня был блок describe() без звонков it(). Надеюсь, что кто-то поможет!

Смежные вопросы