在mean.js项目中运行npmtesting时出错
我正在尝试在Mean.js中开发一个项目。 我已经安装了MEAN.JS并开始了开发工作。 但是在做npmtesting之后,我面临一个问题。 这个问题是在login部分。 任何人都可以帮助我吗? 下面我提供的代码
it('$scope.signin() should login with a correct user and password as user', function () { // Test expected GET request $httpBackend.when('POST', '/auth/signin').respond(200, {user: 'chinjubridgit.thomas@gmail.com', token: {logintoken: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9'}, isadmin: false, status:false}); scope.signin(); $httpBackend.flush(); // Test scope value expect(scope.authentication.user).toEqual('chinjubridgit.thomas@gmail.com'); expect($cookieStore.get('token')).toBe('Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9'); expect($location.url()).toEqual('/loading'); });
下面提供的是我在terminal运行npmtesting时得到的错误
PhantomJS 1.9.8 (Linux 0.0.0) AuthenticationController $scope.signin() should login with a correct user and password as user FAILED Error: Unexpected request: GET modules/admins/views/admin/home-admin.client.view.html No more request expected at $httpBackend (/home/dev241/projects/mean/yourcause/public/lib/angular-mocks/angular-mocks.js:1181) at sendReq (/home/dev241/projects/mean/yourcause/public/lib/angular/angular.js:8427) at /home/dev241/projects/mean/yourcause/public/lib/angular/angular.js:8146 at /home/dev241/projects/mean/yourcause/public/lib/angular/angular.js:11682 at /home/dev241/projects/mean/yourcause/public/lib/angular/angular.js:11768 at /home/dev241/projects/mean/yourcause/public/lib/angular/angular.js:12811 at /home/dev241/projects/mean/yourcause/public/lib/angular/angular.js:12623 at /home/dev241/projects/mean/yourcause/public/lib/angular-mocks/angular-mocks.js:1454 at /home/dev241/projects/mean/yourcause/public/modules/users/tests/authentication.client.controller.test.js:72 at /home/dev241/projects/mean/yourcause/node_modules/karma-jasmine/lib/boot.js:126 at /home/dev241/projects/mean/yourcause/node_modules/karma-jasmine/lib/adapter.js:171 at http://localhost:9876/karma.js:182 at http://localhost:9876/context.html:175 PhantomJS 1.9.8 (Linux 0.0.0): Executed 11 of 11 (1 FAILED) (0.011 secs / 0.172 secs)
这个问题可以通过添加来解决
$httpBackend.when('GET', /\.html$/).respond('');
触发loginfunction后
it('$scope.signin() should login with a correct user and password as user', function () { // Test expected GET request $httpBackend.when('POST', '/auth/signin').respond(200, {user: 'chinjubridgit.thomas@gmail.com', token: {logintoken: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9'}, isadmin: false, status:false}); scope.signin(); $httpBackend.when('GET', /\.html$/).respond(''); $httpBackend.flush(); // Test scope value expect(scope.authentication.user).toEqual('jenson.raby@cubettech.com'); expect($cookieStore.get('token')).toBe('Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9'); expect($location.url()).toEqual('/loading'); });