我第一次尝试使用Buster.js进行Javascript测试
我按照the Buster site的说明运行“陈述显而易见的”测试。但是,我无法将任何现有的.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'
[...]
我可能错过了一些非常基本的东西,但是目前,我完全难过了。有人能指出我正确的方向吗?
答案 0 :(得分:2)
这是因为您没有从模块中导出此功能。 看一看: http://nodejs.org/api/modules.html#modules_module_exports