Unit testing connect上的socket.io错误:错误:Angular 2中使用jasmine的Nativescript的xhr轮询错误

Unit testing connect上的socket.io错误:错误:Angular 2中使用jasmine的Nativescript的xhr轮询错误,unit-testing,jasmine,nativescript,angular2-nativescript,Unit Testing,Jasmine,Nativescript,Angular2 Nativescript,我最近更新了nativescript Angular 2项目,并希望重构测试代码,测试运行所需的初始导入不再有效: 导入“nativescript角度/应用程序” 现在我必须为“reflect metadata”和zone.js添加一个导入,我通过将以下导入添加到spec.ts文件来管理它 导入“反映元数据” 并将我的karma.conf.js文件更改为: module.exports=函数(配置){ config.set({ //用于解析所有模式(例如文件、排除)的基本路径 基本路径:“”

我最近更新了nativescript Angular 2项目,并希望重构测试代码,测试运行所需的初始导入不再有效:

导入“nativescript角度/应用程序”
现在我必须为“reflect metadata”和zone.js添加一个导入,我通过将以下导入添加到spec.ts文件来管理它

导入“反映元数据”
并将我的karma.conf.js文件更改为:

module.exports=函数(配置){
config.set({
//用于解析所有模式(例如文件、排除)的基本路径
基本路径:“”,
//要使用的框架
//现有框架:https://npmjs.org/browse/keyword/karma-adapter
框架:['jasmine'],
//要在浏览器中加载的文件/图案列表
档案:[
“app/***.js”,
'node_modules/zone.js/dist/zone.js',
'node_modules/zone.js/dist/zone node.js',
'node_modules/zone.js/dist/long stack trace zone.js',
'node_modules/zone.js/dist/proxy.js',
'node_modules/zone.js/dist/sync test.js',
'node_modules/zone.js/dist/jasmine patch.js',
'node_modules/zone.js/dist/async test.js',
'node_modules/zone.js/dist/fake async test.js',
],
//要排除的文件列表
排除:[
],
//在将匹配文件提供给浏览器之前对其进行预处理
//可用的预处理器:https://npmjs.org/browse/keyword/karma-preprocessor
预处理器:{
},
//要使用的测试结果报告器
//可能值:“点”、“进度”
//现有记者:https://npmjs.org/browse/keyword/karma-reporter
记者:[进展],,
//web服务器端口
港口:9876,
//启用/禁用输出中的颜色(报告器和日志)
颜色:对,
//记录级别
//可能值:config.LOG_DISABLE | | config.LOG_ERROR | | config.LOG_WARN | | config.LOG_INFO | | config.LOG_DEBUG
日志级别:config.LOG\u INFO,
//启用/禁用监视文件并在任何文件更改时执行测试
自动观察:没错,
//启动这些浏览器
//可用的浏览器启动器:https://npmjs.org/browse/keyword/karma-launcher
浏览器:[],
自定义启动器:{
安卓:{
基:'NS',
平台:“安卓”
},
ios:{
基:'NS',
平台:“ios”
},
ios_模拟器:{
基:'NS',
平台:“ios”,
参数:['--emulator']
}
},
//连续集成模式
//如果为真,Karma将捕获浏览器,运行测试并退出
单次运行:错误
})
}
这是我的规范文件:

import "reflect-metadata";
import { Http, Headers, HttpModule, XHRBackend, 
        BaseRequestOptions, Response, 
        ResponseOptions, RequestMethod } from '@angular/http';
import { MockBackend, MockConnection } from '@angular/http/testing';
import { LoginService } from '../../shared/login-service/login-service.service';
import { User } from '../../shared/user/user.model';
import { Config } from '../../shared/config';
import { inject, async, ComponentFixture, TestBed, 
        fakeAsync, getTestBed } from '@angular/core/testing';

describe('LoginService test', () => {
    let login : LoginService = null;
    let backend : MockBackend = null;
    let config = new Config();

    beforeEach(async(() => {
        TestBed.configureTestingModule({
            providers: [
                LoginService,
                BaseRequestOptions,
                {
                    provide: Http,
                    deps: [MockBackend, BaseRequestOptions],
                    useFactory:
                        (backend: MockBackend, defaultOptions: BaseRequestOptions) => {
                            return new Http(backend, defaultOptions);
                        }
                }
            ],
            imports: [
                HttpModule
            ]
        });

        TestBed.compileComponents();
    }));

    beforeEach(inject([LoginService, MockBackend], (userService: LoginService, mockBackend : MockBackend) => {
        login = userService;
        backend = mockBackend;
    }));

    it("should return token at succesful login",async(() =>{
        backend.connections.subscribe((connection: MockConnection) => {
            let options = new ResponseOptions({
                body: JSON.stringify({ token: "success" })
            });
            connection.mockRespond(new Response(options));
        });

        let user = new User();
        user.username = "admin";
        user.password = "password";
        login
            .login(user)
            .subscribe((response) => {
                expect(response).toEqual({ token: "success" })
            })
    }));
我的控制台中出现以下错误:

JS: NSUTR-socket.io: transport error
JS: NSUTR-socket.io: 1
JS: NSUTR: socket.io error on connect: Error: xhr poll error
JS: NSUTR-socket.io: 2
JS: NSUTR: socket.io error on connect: Error: xhr poll error
JS: NSUTR-socket.io: 3
JS: NSUTR: socket.io error on connect: Error: xhr poll error
23 12 2016 09:09:15.516:WARN [NativeScript / 23 (6.0; Samsung Galaxy S7)]: DiscoNativeScript / 23 (6.0; Samsung Galaxy S7) ERROR
  Disconnected, because no message in 10000 ms.
NativeScript / 23 (6.0; Samsung Galaxy S7): Executed 0 of 0 DISCONNECTED (10.005NativeScript / 23 (6.0; Samsung Galaxy S7): Executed 0 of 0 DISCONNECTED (10.005 secs / 0 secs)
JS: NSUTR-socket.io: 4
JS: NSUTR: socket.io error on connect: Error: xhr poll error
我尝试过其他解决方案,并按照这些示例和示例中的建议编写了规范

你知道怎么解决这个问题吗