Ответ 1
Это смешно, что аксиомы использовали XMLHttpRequest первичными, а запрос ajax не может получить доступ к домену, поэтому ваш тест не удался, поэтому вы можете передать свой код, установив адаптер axios.
Причина по axios/defaults.js
function getDefaultAdapter() {
var adapter;
if (typeof XMLHttpRequest !== 'undefined') {
// For browsers use XHR adapter
adapter = require('./adapters/xhr');
} else if (typeof process !== 'undefined') {
// For node use HTTP adapter
adapter = require('./adapters/http');
}
return adapter;
}
Переход с аксиомом на изменение решения на http
import axios from 'axios';
//This WORKS
test('testing with headers', (done) => {
var path=require('path');
var lib=path.join(path.dirname(require.resolve('axios')),'lib/adapters/http');
var http=require(lib);
axios.get('http://192.168.1.253', {
adapter: http,
headers: {
Authorization: "Basic YWRtaW46bHVveGlueGlhbjkx"
}
}).then((res) => {
expect(res.status).toBe(200);
done();
}).catch(done.fail);
});
Решение изменить jest testURL в package.json
"jest": {
"testURL":"http://192.168.1.253"
}
то тест может быть доступен через http через ajax
import axios from 'axios';
//This WORKS
test('testing with headers', (done) => {
axios.get('http://192.168.1.253', {
headers: {
Authorization: "Basic YWRtaW46bHVveGlueGlhbjkx"
}
}).then((res) => {
expect(res.status).toBe(200);
done();
}).catch(done.fail);
});