我正在尝试编写一个集成测试,它调用我的真实服务(返回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
我有一个服务,它具有与服务器交互的实际功能,并且它返回来自每个功能的promises。我的测试看起来像这样。
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()调用实际服务,然后返回一个promise。我用Firefox和PhantomJS都尝试了这个,我一直收到这个错误。奇怪的是,如果在浏览器中手动加载,错误中的URL工作正常。
我想知道这是否与Intern无法加载请求/ xhr.js并因此抛出此错误有关?
答案 0 :(得分:0)
您正在进行的请求被视为cross-site request,因此您需要确保服务器正确响应此类请求的相应CORS标头,或者您需要确保set up a reverse proxy XHR请求是通过相同的来源发生的。