我正在尝试让nodeunit模块在coffeescript项目中运行,但似乎无法运行基本测试。 这是我的例子Coffeescript 要求'nodeunit'
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 =(test) - > ^
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) at require(module.js:346:19) at /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 at /usr/local/lib/node/nodeunit/deps/async.js:134:9 at /usr/local/lib/node/nodeunit/deps/async.js:507:9
任何人都可以帮助我使用Node.js在Coffeescript中进行简化测试并运行吗?
提前致谢
答案 0 :(得分:14)
你的例子适合我。在你有CoffeeScript支持之前,你可能正在使用旧版本的nodeunit;尝试
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
设置为npm创建的coffee-script
目录的父目录,方法是添加一行,如
export NODE_PATH=/usr/local/lib/node_modules
到~/.profile
或~/.bashrc
或启动时运行shell的其他任何内容,然后重新启动shell。然后,只要您从计算机上的任何Node应用程序require 'coffee-script'
进行操作,它就会找到CoffeeScript库。
答案 1 :(得分:0)