Угловой тест Мокко Карма не может получить доступ к Интернету - PullRequest
0 голосов
/ 07 февраля 2019

Мне нужен доступ к URL-адресу для теста, который я пишу, но он завершается неудачно с

«Превышено время ожидания 2000 мс. Для асинхронных тестов и перехватчиков убедитесь, что вызывается« done () »«

после различных экспериментов я не смог заставить его работать, и я подозреваю, что тест не может подключиться к Интернету.

Пример кода:

it('should be able to access the internet', function(done) {
        inject(function($http) {
            expect($http).to.exist; //this line passes the test

            $http({
                method: 'GET',
                url: 'http://example.com'
            }).success(function (data) {
                console.log(data);
                expect(true).to.be.true;
                done();
            }).error(function () {
                expect(false).to.be.true;
                done();
            });
}});

Увеличение времени ожидания до какой-то суммы не помогает, и моя машина, на которой выполняются мои тесты, имеет доступ к Интернету.

Я также попробовал его с простым XmlHttpRequest вместо $ http angular, и он тоже не работает:

it('should be able to access the internet', function(done) {
    inject(function($http) {
    expect($http).to.exist;

    function reqListener () {
        console.log(this.responseText);
        expect(true).to.be.true;
        done();
    }

    function errListener() {
        console.log(this.responseText);
        expect(false).to.be.true;
        done();
    }

    var oReq = new XMLHttpRequest();
    oReq.addEventListener("load", reqListener);
    oReq.addEventListener("error", errListener);
    oReq.open("GET", "http://www.example.org/example.txt");
    oReq.send();
}});
...