Я хотел бы сделать несколько тестовых модулей с моими компонентами Vue.Мое приложение веб-браузера использует некоторые ajax-запросы XMLHttpRequest для получения данных с сервера.Мой сервер - Sharepoint и использует аутентификацию Windows NTLM.
Если я запускаю свое приложение в браузере, нет проблем: браузер обрабатывает аутентификацию и выполняет мои запросы.
Однако, когда я пытаюсьvue-cli-service test:unit
для проверки моих компонентов, мои ajax-запросы не выполняются.Он основан на jsdom
, и мои запросы возвращают ошибку 401.
Если я добавлю следующий код в свой компонент:
var xhttp = new XMLHttpRequest();
xhttp.withCredentials = true;
xhttp.onreadystatechange = function() {
console.log("onreadystatechange => ", this.readyState, this.status)
};
xhttp.open("GET", "https://my.server.com/", true);
xhttp.send();
Я получу:
onreadystatechange => 1 0
onreadystatechange => 2 401
onreadystatechange => 3 401
onreadystatechange => 4 401
Я хорошо предоставил свои учетные данные для этого запроса, потому что он предназначен только для тестов.
Обратите внимание, что я не могу добавить персонализированные заголовки на свой сервер (например, Access-Control-Allow-*
), поэтому я изменил функцию validCORSHeaders()
сjsom
чтобы всегда возвращать true
.
Я бы хотел использовать jsdom
как серверную систему, которая будет игнорировать все вещи CORS ... Кажется, мы не можем / они не хотят: отключить проверку CORS в jsdom на nodejs
Есть идеи о том, как я могу тестировать свои компоненты Vue, не имея дело с CORS или учетными данными?
Спасибо