Я попытался загрузить несколько внешних js, используя javascript. У меня был отдельный код для логики инъекций. Когда я загружаю один файл js, это означает, что тестовый пример работает нормально. Но когда я пытаюсь загрузить несколько файлов js, тестовый пример FAILED.
Main.js
var externalJs = "abcd.js";
function loadJs() {
window.$script(externalJs);
}
function init(domElement) {
loadJs();
}
module.exports = {
init: init
};
Test.js
/* global assert, sinon*/
describe('Test', function () {
var factory = require('main.js');
it('oad the correct js library', function(){
window.$script = sinon.spy();
factory.init();
sinon.assert.calledOnce(window.$script);
});
});
Приведенный выше код работает нормально. Но когда я пытаюсь загрузить несколько внешних файлов, тестовый пример не удался.
Main.js
var externalJs = [ "abcd.js", "xyz.js"];
function loadJs() {
window.$script(externalJs[0], function(){
window.$script(externalJs[1], function(){
});
});
}
function init(domElement) {
loadJs();
}
module.exports = {
init: init
};
Test.js
/* global assert, sinon*/
describe('Test', function () {
var factory = require('main.js');
it('oad the correct js library', function(){
window.$script = sinon.spy();
factory.init();
sinon.assert.calledTwice(window.$script);
});
});
Сведения об ошибке:
expected $script to be called twice but was called once
Есть идеи, как решить эту проблему.