Как использовать модуль node.js 'nodeunit' с файлами coffeescript - PullRequest
7 голосов
/ 03 ноября 2011

Я пытаюсь заставить модуль nodeunit работать в рамках проекта coffeescript, но, похоже, не удается запустить даже базовый тест. Вот мой пример Coffeescript требуется узел узла

test = true
test2 = false

exports.testSomething = (test) ->
  test.expect(1)
  test.ok(true, "this should pass")
  test.done()

exports.testSomethingElse = (test2) ->
  test2.expect(1)
  test2.ok(false, "this should fail")
  test2.done()

К сожалению, когда я запускаю '$ nodeunit example.coffee', я получаю сообщение об ошибке:

example.coffee: 4 exports.testSomething = (тест) -> ^

module.js: 296 бросить ошибку; ^ SyntaxError: Неожиданный токен> в Module._compile (module.js: 397: 25) в Object..js (module.js: 408: 10) в Module.load (module.js: 334: 31) в Function._load (module.js: 293: 12) по требованию (module.js: 346: 19) по адресу /usr/local/lib/node/nodeunit/lib/nodeunit.js:75:37 по адресу /usr/local/lib/node/nodeunit/deps/async.js:508:13 по адресу /usr/local/lib/node/nodeunit/deps/async.js:118:13 по адресу /usr/local/lib/node/nodeunit/deps/async.js:134:9 по адресу /usr/local/lib/node/nodeunit/deps/async.js:507:9

Может кто-нибудь помочь мне просто запустить упрощенный тест в Coffeescript, используя Node.js?

Заранее спасибо

Ответы [ 2 ]

14 голосов
/ 04 ноября 2011

Ваш пример работает нормально для меня. Может случиться так, что вы используете старую версию nodeunit до того, как она будет поддерживать CoffeeScript; попробовать

npm install -g nodeunit

для обновления до последней версии.

Если это не удастся, то я подозреваю, что это проблема пути, поэтому, когда nodeunit пытается выполнить require 'coffee-script', он не работает.

Сначала сделай

npm install -g coffee-script

и обратите внимание на последнюю строку вывода, которая должна выглядеть примерно так:

coffee-script@1.1.2 /usr/local/lib/node_modules/coffee-script

Теперь запустите

echo $NODE_PATH

, что в моем случае /usr/local/lib/node_modules. Вам необходимо установить NODE_PATH в родительский каталог каталога coffee-script, созданного npm, добавив строку, подобную

export NODE_PATH=/usr/local/lib/node_modules

до ~/.profile или ~/.bashrc или что бы то ни было еще, ваша оболочка запускается при запуске и перезапускает вашу оболочку. Затем, когда вы делаете require 'coffee-script' из любого приложения Node на вашем компьютере, оно находит библиотеку CoffeeScript.

0 голосов
/ 28 апреля 2014

Если ваш кофейный скрипт версии 1.7 или новее, вы также можете страдать от ошибки # 247 , для которой я только что представил патч .

...