节点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
对象中(或将您自己的对象分配给exports
variables)
(还有一个语法错误 – 在对象字面上)
这适用于我:
./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' })