2013-05-09 5 views
6

私はInternをテストして、テストフレームワークに適しているかどうかを確認しようとしています。インターンで次のコードをテストしようとしています。Node.jsモジュールを実行するためのInternを取得できません

var HelloWorld; 

HelloWorld = (function() { 

    function HelloWorld (name) { 
    this.name = name || "N/A"; 
    } 

    HelloWorld.prototype.printHello = function() { 
    console.log('Hello, ' + this.name); 
    }; 

    HelloWorld.prototype.changeName = function(name) { 
    if (name === null || name === undefined) { 
     throw new Error('Name is required'); 
    } 
    this.name = name; 
    }; 

    return HelloWorld; 

})(); 

exports = module.exports = HelloWorld; 

ファイルが 'JS-テストプロジェクト/ノード/ LIB/HelloWorld.js' に位置し、インターンが 'JS-テストプロジェクト/インターン' 位に位置しています。私はInternの1.0.0ブランチを使用しています。ファイルをインクルードしてテストを実行しようとするたびに、「コンソールレポーターにデフォルト設定する」の後に出力が得られません。ここにテストファイルがあります。 (質問に基づいて)次のディレクトリ構造を想定し

define([ 
    'intern!tdd', 
    'intern/chai!assert', 
    'dojo/node!../lib/HelloWorld' 
], function (tdd, assert, HelloWorld) { 
    console.log(HelloWorld); 
}); 
+1

ノードに精通していない誰かのため。 js、これはインターンシップ投稿のように聞こえました:) –

+1

私は私のインターンを私が欲しいものを実行することができないときに私は嫌いです。 – AaronLS

答えて

7

1:

js-test-projects/ 
    node/ 
     lib/ 
      HelloWorld.js - `HelloWorld` Node module 
     tests/ 
      HelloWorld.js - Tests for `HelloWorld` 
      intern.js  - Intern configuration file 
    intern/ 

2. nodeパッケージおよび実行するための任意のスイートについての情報が含まれている必要がありあなたのインターンの構成ファイル:

3.あなたのテストファイルの

// ... 

// Configuration options for the module loader 
loader: { 
    // Packages that should be registered with the loader in each testing environment 
    packages: [ 'node' ] 
}, 

// Non-functional test suite(s) to run 
suites: [ 'node/tests/HelloWorld' ] 

// ... 

define([ 
    'intern!tdd', 
    'intern/chai!assert', 
    'intern/dojo/node!./node/lib/HelloWorld.js' 
], function (tdd, assert, HelloWorld) { 
    console.log(HelloWorld); 
}); 

注:このような道場のインターンのバージョンを使用してhould負荷HelloWorldあなたがこのAMDテストでHelloWorldノードモジュールをロードするために道場のインターンのバージョンを使用するを持っていない、それがありますこれを行う便利な方法ですノードにノードモジュールが必要な他のAMDプラグインをお持ちの場合、それは問題ありません。最後に

4.

は、Node.jsの環境でテストを実行するために、internディレクトリ内から次のコマンドを発行することにより、インターンのclient.jsノードランナーを使用します。

node client.js config=node/tests/intern 
+2

ノードモジュールがすでに解決可能な 'node_modules'ディレクトリ内にある場合、' intern/dojo/node!node/lib/HelloWorld'を使用するだけです。 –

関連する問題