1

Buster.js を使用して、Javascript のテストを初めて試みています。

Buster サイトの指示に従って、「states the明白な」テストを実行しました。ただし、既存の .js ファイルをテストにインポートできませんでした。

たとえば、次js/testLibrary.jsを含むファイルがあります。

function addTwo(inp) {
  return inp+2;
}

および以下を含むファイルtest/first-test.js:

// Node.js tests
var buster = require("buster");
var testLibrary = require("../js/testLibrary.js");
var assert = buster.referee.assert;

buster.testCase("A module", {
    "Test The Library": function() {
            result = addTwo(3);
            console.log(result);
            assert(true, 'a message for you');
    }
});

実行すると次のようになりbuster-testます。

Error: A module Test The Library
    ReferenceError: addTwo is not defined
    [...]

で置き換えるresult = addTwo(3);と、次のようになりresult = testLibrary.addTwo(3);ます。

Error: A module Test The Library
    TypeError: Object #<Object> has no method 'addTwo'
    [...]

私はおそらく本当に基本的な何かを見逃していますが、現在、私は完全に困惑しています. 誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

2

これは、この関数をモジュールからエクスポートしていないためです。それを見てみましょう: http://nodejs.org/api/modules.html#modules_module_exports

于 2013-10-13T12:27:36.407 に答える