这可能是基本的,但我是JavaScript和NodeJS的新手。
我想能够使用全局变量在我的脚本,但我有麻烦这样做
我有一个名为变量的文件在我的test.js脚本相同的级别上,例如,在这个例子中,我将Google分配给变量url,但是当运行测试时,它无法加载。
require('variables.js');
module.exports = {
'Log into Traceiq': function (test) {
test
.open(url)
.done();
}
};
然后我尝试了这个,测试开始运行,但在开始阶段挂起:
require('./variables');
module.exports = {
'open Google': function (test) {
test
.open(url)
.done();
}
};
这是控制台的输出:
Running tests
Running Browser: Google Chrome
OS: Linux 3.5.0-45-generic x86_64
Browser Version: 31.0.1650.63
>> WARNING: done not called!
RUNNING TEST - "Open Google"
✔ 0 Assertions run
✔ TEST - "Open Google" SUCCEEDED
有什么明显的,我在这里做错了吗?
看起来这是一个用户错误在我的部分坚果将张贴答案只是以防它帮助别人。在Node.js中设置变量与典型的客户端Javascript不同。
所以在我设置
的地方var url = "www.google.co.uk"
我需要设置
global.url = "www.google.co.uk"
Node.js处理"导入"文件的方式与我们在browserland中使用的方式不同。这篇文章很好地概述了"如何"& &;"为什么":
Node.js模块的目的是什么?导出,如何使用它?
如果您正在寻找有关如何保持测试DRY的DalekJS特定资源;模块化,请查看这个存储库https://github.com/asciidisco/jsdays-workshop/tree/8-dry我为研讨会制作的。更具体地说,这些文件:
https://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/form2.jshttps://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/functions/configuration.jshttps://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/functions/formHelper.jshttps://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/functions/selectors.js
希望对你有帮助。