为什么jasmine-node找不到我的spec文件?

时间:2012-01-30 10:10:59

标签: javascript node.js coffeescript jasmine

我已经使用npm安装了jasmine-node。我项目的目录结构如下:

|-lib\
   |-taxCalc.js
|-spec\
   |-taxCalc.spec.coffee
   |-taxCalc.spec.js
|-src\
   |-taxCalc.coffee

当我使用以下命令(对于CoffeeScript)从根文件夹运行jasmine-node时:

jasmine-node --coffee --verbose spec

Finished in 0.015 seconds
0 tests, 0 assertions, 0 failures

如果我运行JavaScript版本也一样。

如果我明确指出spec文件测试运行正常:

jasmine-node --coffee --verbose spec/taxCalc.spec.coffee

Tax calculation
  calculates tax

Finished in 0.009 seconds
1 test, 1 assertion, 0 failures

文档说文件名应以'spec.js'或'spec.coffee'结尾,所以一切似乎都没问题。

P.S。我在Windows 7上运行。

2 个答案:

答案 0 :(得分:3)

Jasmine-node在上周已更新,使用walkdir而不是findit,现在可以在windows中使用它。重新运行npm install jasmine-node以进行更新。

答案 1 :(得分:2)

偶然发现了同样的问题并且读了MarisKs的链接太晚了:/ - 但是得出了与问题中描述的相同的结论: 至少在Windows 7上,file.stat.ino总是返回0,因此findit / index.js中的函数createInodeChecker()返回true,将跳过该文件。

最简单的动态修复:将createInodeChecker编辑为

function createInodeChecker() {
    var inodes = {};
    return function inodeSeen(inode) {
        if (inode == 0) {
            return false;
        }

        if (inodes[inode]) {
            return true;
        } else {
            inodes[inode] = true;
            return false;
        }
    }
}

不好,但你可以使用它。