2016-08-08 9 views
0

私はthisソリューションを試しましたが、うまく機能しません。dojoのdohはsinonと連携していません

require([ 
    "doh/runner", 
    "http://sinonjs.org/releases/sinon-1.17.5.js" 
], function(doh){ 
    console.log(sinon); 
}); 

エラーメッセージ:ここ

は、上記のリンクからのコード例です。この他に

$ node ../../dojo/dojo.js load=doh test=tests/test_sinon_spy.js 
Error: ENOENT: no such file or directory, open 'http://sinonjs.org/releases/sinon-1.17.5.js' 

、私はまた、直接sinon.jsを必要としてみてください。

sinon-1.17.5.jsrunner.jsと同じであるディレクトリdohに移動し、sinonに名前が変更されました。 (ディレクトリ)

require([ 
    "doh/runner", 
    "doh/sinon" 
], function(doh, sinon){ 
    console.log(sinon); 
}); 

がありますエラーメッセージはありませんが、sinonが定義されていない:

$ node ../../dojo/dojo.js load=doh test=tests/test_sinon_spy.js 
undefined 
0 'tests to run in' 0 'groups' 
------------------------------------------------------------ 
| TEST SUMMARY: 
------------------------------------------------------------ 
     0 tests in 0 groups 
     0 errors 
     0 failures 

私は2番目のコードのロードがうまくsinonことをかなり確信しています。私はsinon.jsを直接変更して検証しました。しかし、なぜ私はサイロンが電話することができないのか分かりません。


バージョン

node.js - v6.2.2 
dojo/doh - 1.10.0 
sinon - 1.17.5 

答えて

0

node.jsdojo両方がAPI必要としているが、彼らが異なるため

を[UPDATED]。 dojoのAPIではなく、sinon.jsが必要なnode.jsのAPIを使用する必要があるため、このケースは機能しません。

Dojoはdojo/nodeモジュールを提供し、node.jsモジュールを直接呼び出します。

1.元のフォルダに道場/ノード

# test_sinon_spy.js 
require([ 
    "doh/runner", 
    "dojo/node!sinon" 
], function(doh, sinon){ 
    console.log(sinon); 
}) 

3を使用するようにコードを変更道場

$ cd ../../dojo 
$ npm install sinon 

2の同じディレクトリの下にNPMによってsinonをインストールテストを実行します。

$ cd - 
$ node ../../dojo/dojo.js load=doh test=tests/test_sinon_spy.js 

注意:dojoディレクトリの下には、npm_module/sinonが含まれます。

関連する問題