SailsJS应用中用于单元测试的全局变量
Global variables for unit tests in SailsJS app
我正在制作一个Sails应用程序,对于我的单元测试,我需要在。/test/bootstrap.test.js和。/test/unit/controllers/*.test.js中使用一些变量。我考虑全局变量,但我如何创建它们?
我可以创建类似。/config/mydatatest.js这样的东西:
module.exports.myconf = {
anyobject: {
bar: "foo"
}
};
但是有没有办法在测试目录中创建mydatatest.js呢?
我喜欢将测试视为像开发或生产那样的特定环境的想法。您可以创建一个特定于环境的文件 config/env/test.js
来放置配置:
/**
* Test environment settings
*/
module.exports = {
myconf: {
anyobject: {
bar: "foo"
}
}
};
然后,可以将NODE_ENV=test
添加到启动测试的命令中(基于文档中的示例)
"scripts": {
"start": "node app.js",
"debug": "node debug app.js",
"test": "NODE_ENV=test mocha test/bootstrap.test.js test/unit/**/*.test.js"
},
在运行测试时,我使用此技术来使用sails-memory
适配器。
如何将其插入您的bootstrap.test.js
?
before(function (done) {
Sails.lift({
port : 5031,
log : {
level: 'error'
},
myconf : {
anyobject: {
bar: "foo"
}
}
}, function (err, server) {
sails = server;
done(err);
});
});
基本上可以。如果你想把它们放在单独的文件/文件夹中,只需要它们在你的bootstrap.test.js
里面你的myconf
像我的例子。
相关文章:
- 我的单元测试选项是什么
- 全局变量和全局对象的属性之间有什么区别吗
- 单元测试节点模块与mocha,模块变量行为怪异
- 如何在Javascript中添加所有测试使用的全局变量
- 单元测试使用全局的模块.XMLHttpRequest
- 如何在mocha测试中模拟全局变量(define、module、window)
- Karma 测试运行器中的全局变量
- 在.then()单元测试中AngularJS$作用域变量的变化
- Mocha测试未访问全局变量
- 如何在运行单元测试时将React添加为全局
- 如何在运行JEST测试用例时将全局变量设置为true
- Javascript测试存根全局变量函数
- 在测试时注入全局变量复制实际对象,需要相同的实例
- 在Jasmine单元测试中没有分配全局变量
- 如何为包含来自另一个类/文件的全局变量的方法编写茉莉测试?
- 引入全局变量_firebug"在QUnit测试中
- SailsJS应用中用于单元测试的全局变量
- JavaScript单元测试变量和代码未封装在函数中
- AVA单元测试:使用gulp-ava测试全局函数
- Jasmine单元测试当前上下文或该变量