1

我第一次尝试使用 Buster.js 进行 Javascript 测试

我已按照Buster 网站上的说明运行“说明显而易见”的测试。但是,我无法将任何现有的 .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 回答