节点qunit不包括我的源文件在范围内

我已经从npm安装了node-qunit(stable),但似乎无法得到任何testing工作。 我的源文件似乎不包括在范围内。

./source/myscript.js:

var myObj = { a : true } 

./test/tests.js:

 test("that a is true", function () { ok(myObj.a); }); 

./test/runner.js:

 var runner = require('qunit'); runner.run({ code : './source/myscript.js', tests : './test/tests.js' }); 

./Makefile:

 test : <tab>node ./test/testrunner.js .PHONY: install test 

如果我运行make test ,会得到一个'ReferenceError: myObj is not defined'错误。 源文件确实运行,因为它可能会引发错误。 它似乎并不像它应该包含在全球范围内。 如果我从命令行执行它,按照node-qunit自述文件中的说明进行操作将不起作用 。 任何人有任何想法如何得到这个工作?

你不出口任何东西。 在幕后,node-qunit正在使用require来加载指定的模块。 为了在需要模块时暴露variablesd,必须将它们添加到exports对象中(或将您自己的对象分配给exportsvariables)

(还有一个语法错误 – 在对象字面上)

这适用于我:

./source/myscript.js:

 exports.myObj = { a: true } 

./test/tests.js:

 QUnit.module('tests') test("that a is true", function () { ok(myObj.a) }) 

./test/runner.js:

 var runner = require('qunit') runner.run({ code : './source/myscript.js' , tests : './test/tests.js' })