Написание асинхронного теста с помощью Intern

Я пытаюсь написать интеграционный тест, который вызывает мою реальную службу (которая возвращает JSON) и проверяет, что формат JSON в порядке.

я получаю сообщение об ошибке

Error: Unable to load http://localhost:7200/users/signoff status: 0
ErrorCtor@http://localhost:9000/resources/www/tests/lib/dojo/errors/create.js:29

onError@http://localhost:9000/resources/www/tests/lib/dojo/request/xhr.js:133 

У меня есть служба, у которой есть реальные функции для взаимодействия с сервером, и она возвращает обещания от каждой функции. Мой тест выглядит так.

 define([
    'intern!bdd',
    'intern/chai!expect',
    'app/services/myService'
 ], function (bdd, expect, MyService) {
with (bdd) {
    describe('Service Tests', function () {
        var service;

        before(function () {
            service = MyService.getInstance();
        });

        it('should sign user off', function(){
            var dfd = this.async(2000);
            service.signUserOff().then(dfd.callback(function (data) {
                expect(data).to.exist;
                expect(data.status).to.exist;
            }), dfd.reject.bind(dfd));
        });
    });
}
});

service.signOff() вызывает реальную службу, а затем возвращает обещание. Я пробовал это с Firefox и PhantomJS, и я продолжаю получать эту ошибку. Странно то, что URL-адрес в ошибке работает нормально, если загружается вручную в браузере.

Интересно, связано ли это с тем, что Intern не может загрузить request/xhr.js и, следовательно, выдает эту ошибку?


person Anuj Gakhar    schedule 29.04.2014    source источник


Ответы (1)


Отправляемый вами запрос считается межсайтовым запросом. , поэтому вам нужно либо убедиться, что ваш сервер правильно отвечает соответствующими заголовками CORS для такого запроса, либо вам нужно настроить обратный прокси-сервер, который гарантирует, что запросы XHR происходят через один и тот же источник.

person C Snover    schedule 29.04.2014
comment
как установить заголовки при выполнении асинхронного почтового запроса в Internjs, поскольку я сталкиваюсь с проблемой защиты CSRF. - person Suyog Sawant; 27.10.2015