jasmine-node中奇怪的`require`行为

时间:2012-07-20 09:18:53

标签: node.js require jasmine

我在具有此文件夹结构的项目中使用node 0.8与jasmine-nodecoffee-scriptbackbone

<project root>
 ` fares/
 | ` base.coffee
 | ` import.coffee
 | ` import_list.coffee
 ` spec/
   ` fares/
     ` base.spec.coffee
     ` import_list.spec.coffee

我有一个奇怪的情况,即从特定文件夹调用时进行绿色测试,而从另一个文件夹进行红色测试。

如果我跑:

jasmine-node --coffee spec/fares/import_list.spec.coffee

测试通过。但是,如果我运行整个套件:

jasmine-node --coffee spec/

测试失败

检查我console.log结果require "./import"并发现是空对象({})的失败日志,而不是导入类。

我不知道为什么会这样,你对这种奇怪的行为有什么线索吗?感谢您的帮助,谢谢。

The gist with all the code and logs is in here

1 个答案:

答案 0 :(得分:1)

我认为你刚刚遇到node.js中的require使用相对路径名的事实,因此导入将从一个目录成功而在另一个目录中失败。这是最简单的问题,但它一直让我感到高兴。

编辑我做了一个更接近的重新阅读,我想你可能会发现jasmine-node本身内部存在某种相对需求。如果你可以杀死这个bug请提交一个pull req!