如何在Javascript中添加所有测试使用的全局变量
How to add global variables used by all tests in Javascript?
我找不到如何在Javascript中消除代码重复(基本上就是我在Java中用基类实现的)。
具体的例子是(至少)以下代码,这是所有规范文件(以及潜在的页面对象,因为我在量角器中使用该模式进行测试)所共有的:
var chai = require("chai");
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
var expect = chai.expect;
我能做点什么让期望在任何地方都可用吗?我试着在量角器配置中加载一个在规格之前的文件:
specs: [
'e2e/helpers/commonDefinitions.js',
'e2e/**/*.spec.js'
]
或者使用beforeLaunch或onPrepare(但想要一个函数,不确定如何以这种方式公开vars),但没有成功。
然而,对于这种代码重用,我更喜欢通用的Javascript方法。
有没有什么好的方法可以避免在任何地方重复这种常见的代码,尤其是在测试中(摩卡、因果报应、量角器)?
一种方法是将代码放在一个单独的文件中:
assert-styles.js
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
var should = chai.should;
module.exports = {
expect: expect,
should: should
};
然后将其导入到其他测试文件:
test1.js
var assertStyles = require('./assert-styles');
var expect = assertStyles.expect;
var should = assertStyles.should;
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 从Javascript方法返回全局变量
- AngularJS中的封装窗口全局变量
- javascript隐式全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使全局变量仅特定于该文件
- 如何在Javascript中添加所有测试使用的全局变量
- 如何在mocha测试中模拟全局变量(define、module、window)
- Karma 测试运行器中的全局变量
- Mocha测试未访问全局变量
- 如何在运行JEST测试用例时将全局变量设置为true
- Javascript测试存根全局变量函数
- 在测试时注入全局变量复制实际对象,需要相同的实例
- 在Jasmine单元测试中没有分配全局变量
- 如何为包含来自另一个类/文件的全局变量的方法编写茉莉测试?
- 引入全局变量_firebug"在QUnit测试中
- SailsJS应用中用于单元测试的全局变量