Я использую Tape для модульного тестирования моего javascipt, и когда я пытался протестировать функцию, которая вызывает $ .getScript (), я получаю ошибку «тест завершен без завершения». Я протестировал еще 2 аналогичные функции, использующие $ .get JSON () и $ .get (), и тесты прошли без ошибок.
Мой тест:
test('E7js.loadScript should not reject',
async (assert) => {
const url = 'file:///home/dloi/Documents/esta7/epjslib/testsuits/test.js';
await assert.doesNotReject(E7js.loadScript(url));
});
Мой код:
static async loadScript(url, success) {
const params = {
url
};
validate(params, ['url']); // Validate if parameter exist
if ((typeof url != 'string')) { // Validate parameter's type
throw new Error('Wrong Parameter Type');
}
let href = '';
if (window.location.href.slice(-1) == '/') {
href = window.location.href;
}
const result = await $.getScript(href + url, success)
.catch(function(jqxhr, statusText, error) {
throw new Error('Failed to loadScript: ' + statusText + ',' + error);
});
return result;
}