如何添加 Javascript 中所有测试使用的全局变量?
How to add global variables used by all tests in Javascript?
我找不到如何删除 Java 脚本中的代码重复(基本上是我在 Java 中用基础 类 实现的)。
具体示例(至少)是以下代码,它对所有规范文件(以及可能的页面对象,因为我在量角器中使用该模式进行测试)都是通用的:
var chai = require("chai");
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
var expect = chai.expect;
我可以做点什么让 expect 无处不在吗?
我尝试在量角器配置中加载规格之前的文件:
specs: [
'e2e/helpers/commonDefinitions.js',
'e2e/**/*.spec.js'
]
或使用 beforeLaunch 或 onPrepare (但想要一个函数,不知道如何以这种方式公开变量),但没有成功。
但是,对于这种代码重用,我更喜欢通用的 Java脚本方法。
有什么好的方法可以避免到处重复这种通用代码,尤其是在测试中(mocha、karma、protractor)?
一种方法是将该代码放在单独的文件中:
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;
我找不到如何删除 Java 脚本中的代码重复(基本上是我在 Java 中用基础 类 实现的)。
具体示例(至少)是以下代码,它对所有规范文件(以及可能的页面对象,因为我在量角器中使用该模式进行测试)都是通用的:
var chai = require("chai");
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
var expect = chai.expect;
我可以做点什么让 expect 无处不在吗? 我尝试在量角器配置中加载规格之前的文件:
specs: [
'e2e/helpers/commonDefinitions.js',
'e2e/**/*.spec.js'
]
或使用 beforeLaunch 或 onPrepare (但想要一个函数,不知道如何以这种方式公开变量),但没有成功。
但是,对于这种代码重用,我更喜欢通用的 Java脚本方法。
有什么好的方法可以避免到处重复这种通用代码,尤其是在测试中(mocha、karma、protractor)?
一种方法是将该代码放在单独的文件中:
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;