我已经从npm安装了node-qunit(stable),但似乎无法进行任何测试。我的源文件似乎没有包含在范围内。
./源/ myscript.js:
var myObj = {
a : true
}
./测试/ tests.js:
test("that a is true", function () {
ok(myObj.a);
});
./测试/ runner.js:
var runner = require('qunit');
runner.run({
code : './source/myscript.js',
tests : './test/tests.js'
});
./生成文件:
test :
<tab>node ./test/testrunner.js
.PHONY: install test
如果我运行make test
,则会出现'ReferenceError: myObj is not defined'
错误。源文件确实运行,因为它可能会抛出错误。它似乎并没有像它应该包含在全球范围内。如果我按照node-qunit readme中的说明从命令行执行此操作,则无效。任何人都知道如何使这个工作?
答案 0 :(得分:5)
你没有出口任何东西。在幕后,node-qunit正在使用require
来加载指定的模块。要在模块require
d时公开变量,您必须将它们添加到exports
对象(或将您自己的对象分配给exports
变量)
(对象文字中还存在语法错误 - ;
)
这对我有用:
./源/ myscript.js:
exports.myObj = {
a: true
}
./测试/ tests.js:
QUnit.module('tests')
test("that a is true", function () {
ok(myObj.a)
})
./测试/ runner.js:
var runner = require('qunit')
runner.run({
code : './source/myscript.js'
, tests : './test/tests.js'
})