Ответ 1
Самое простое решение, которое я вижу, - переместить этот блок beforeEach
в отдельный файл и потребовать его внутри onPrepare
, как вы это делаете с поставщиками:
onPrepare: function () {
var jasmineReporters = require("jasmine-reporters");
require("jasmine-expect");
require('./tests/support/jasmine-custom-matchers'); // inject custom matchers
// ....
}
Код beforeEach
не должен содержать никаких изменений:
// /tests/support/jasmine-custom-matchers.js
beforeEach(function() {
jasmine.addMatchers({
toHaveClass: function() {
return {
compare: function(actual, expected) {
return {
pass: actual.getAttribute("class").then(function(classes) {
return classes.split(" ").indexOf(expected) !== -1;
})
};
}
};
}
});
});
Я не думаю, что вы должны export
что-то из этого файла, но это вступит в силу только с помощью require
-ing.