Я не мог найти, как удалить дублирование кода в Javascript (в основном то, чего я достиг бы в 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 (но нужна функция, не знаю, как выставить vars таким образом), но безуспешно.
Однако я бы предпочел общий подход Javascript такому повторному использованию кода.
Есть ли хороший способ избежать повторения такого общего кода везде, особенно в тестах (мокко, карма, транспортир)?