我找不到如何在
Javascript中删除代码重复(基本上我将用Java在基类中实现).
具体示例是(至少)以下代码,这对所有spec文件(以及可能的页面对象)都是通用的,因为我在量角器中使用该模式进行测试:
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(但想要一个函数,不知道如何以这种方式公开变量),但没有成功.
但是,我更喜欢这种代码重用的通用Javascript方法.
有没有什么好方法可以避免在任何地方重复这种常见代码,特别是在测试中(摩卡,业力,量角器)?
最佳答案 一种方法是将该代码放在一个单独的文件中:
断言,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;