2012-01-30 6 views
7

npmを使用してjasmine-nodeをインストールしました。私のプロジェクトのディレクトリ構造は次のとおりです。jasmine-nodeが仕様ファイルを見つけられないのはなぜですか?

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

私は(CoffeeScriptのために)コマンドを次のようにルートフォルダからジャスミン・ノードを実行すると:

jasmine-node --coffee --verbose spec 

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

同じ私はJavaScriptのバージョンを実行する場合。

私は明示的にファイルテストを仕様に指している場合は、罰金を実行します。

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」で終わるべきであると述べているので、すべてがOKと思われます。

P.S.私はWindows 7で動作しています。

+0

私が知っている唯一のことは、Windowsはnode.jsのパスが異なって扱われる必要があるということです。 Exmpl; "C:/ bla"は "C:\/bla"にする必要があります。ジャスミンの開発者がWindows上でテストしていないことがあります。 – japrescott

+0

アイデアをありがとう - 私はジャスミンノードで使用されているRegExをテストしようとします。 – marisks

+0

私はあなたのものと似た構造のWindowsでプロジェクトを持っていますが、私はあなたの問題に取り組んでいません。 specがディレクトリであることをより明示的に指定すると、それは違いがあります: '' 'jasmine-node --coffee --verbose。\ spec \' ''? –

答えて

2

同じ問題が発生し、MarisKsのリンクが遅すぎます:/ - しかし、問題の説明と同じ結論になりました: 少なくともWindows 7では、file.stat.ino常に0を返すので、findit/index.jsのcreateInodeChecker()関数は常にtrueを返し、ファイルはスキップされます。

最も簡単なオンザフライフィックス:編集

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

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

良くないとcreateInodeChecker、あなたはそれを扱うことができます。

+0

テスト済みです。それはうまく動作します!私はまた、 "findit"のためのあなたのソリューションを提案しました:https://github.com/substack/node-findit/issues/5 – marisks

3

jasmine-nodeは、finditの代わりにwalkdirを使用するように先週更新されました。これはWindowsで機能するようになりました。アップデートのためにnpm install jasmine-nodeを再実行してください。

関連する問題