大佬教程收集整理的这篇文章主要介绍了javascript – 测试由于套接字io导致的失败不存在,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
'use strict'; angular.module('publicApp') .factory('socket',function ($rootScope) { var socket = io.connect(); return { on: function on(eventName,callback) { socket.on(eventName,function () { var args = arguments; $rootScope.$apply(function () { callback.apply(socket,args); }); }); },emit: function emit(eventName,data,callback) { socket.emit(eventName,function () { var args = arguments; $rootScope.$apply(function () { if (callback) { callback.apply(socket,args); } }); }); } }; }); angular.module('publicApp') .controller('MainCtrl',function ($scope,socket) { $scope.awesomeThings = [ 'HTML5 Boilerplate','AngularJS','Karma']; socket.on('person:added',function (data) { $scope.person = data; }); }); angular.module('publicApp',[]) .config(function ($routeProvider) { $routeProvider.when('/',{ templateUrl: 'views/main.html',controller: 'MainCtrl' }) .otherwise({ redirectTo: '/' }); }); 'use strict'; describe('Controller: MainCtrl',function () { // load the controller's module beforeEach(module('publicApp')); var MainCtrl,scope; // Initialize the controller and a mock scope beforeEach(inject(function ($controller,$rootScope) { scope = $rootScope.$new(); MainCtrl = $controller('MainCtrl',{ $scope: scope }); })); it('should attach a list of awesomeThings to the scope',function () { expect(scope.awesomeThings.length).toBe(3); }); });
io是窗口的一部分,我尝试过使用angulars $window对象,但没有运气.我从业力中得到的错误是:
Running "karma:unit" (karma) task WARN [karma]: Port 8080 in use INFO [karma]: Karma v0.10.2 server started at http://localhost:8081/ INFO [launcher]: Starting browser Chrome WARN [watcher]: Pattern "/Users/michaeljames/Documents/Projects/StackOverflow/public/test/mock/**/*.js" does not match any file. INFO [Chrome 29.0.1547 (Mac OS X 10.8.2)]: Connected on socket LmbsWIC-97zMEi76FmiE Chrome 29.0.1547 (Mac OS X 10.8.2) Controller: MainCtrl should attach a list of awesomeThings to the scope FAILED ReferenceError: io is not defined at Object.$get (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/scripts/services/socket.js:5:16) at Object.invoke (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular/angular.js:3000:28) at /Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular/angular.js:2838:37 at getService (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular/angular.js:2960:39) at invoke (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular/angular.js:2978:13) at Object.instantiate (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular/angular.js:3012:23) at /Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular/angular.js:4981:24 at null.<anonymous> (/Users/michaeljames/Documents/Projects/StackOverflow/public/test/spec/controllers/main.js:14:16) at Object.invoke (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular/angular.js:3000:28) at workFn (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular-mocks/angular-mocks.js:1795:20) Error: Declaration Location at window.jasmine.window.inject.angular.mock.inject (/Users/michaeljames/Documents/Projects/StackOverflow/public/app/bower_components/angular-mocks/angular-mocks.js:1781:25) at null.<anonymous> (/Users/michaeljames/Documents/Projects/StackOverflow/public/test/spec/controllers/main.js:12:14) at /Users/michaeljames/Documents/Projects/StackOverflow/public/test/spec/controllers/main.js:3:1 TypeError: Cannot read property 'length' of undefined at null.<anonymous> (/Users/michaeljames/Documents/Projects/StackOverflow/public/test/spec/controllers/main.js:20:31) Chrome 29.0.1547 (Mac OS X 10.8.2): Executed 1 of 1 (1 FAILED) ERROR (0.306 secs / 0.067 secs) Warning: Task "karma:unit" failed. Use --force to continue. Aborted due to warnings.
以下是一些聪明的家伙:
https://github.com/btford/angular-socket-io-seed/issues/4#issuecomment-14505212.
以上是大佬教程为你收集整理的javascript – 测试由于套接字io导致的失败不存在全部内容,希望文章能够帮你解决javascript – 测试由于套接字io导致的失败不存在所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。