Tôi đang cố gắng tạo gói ủy quyền cho dự án của tôi. Tôi nhận được lỗi 'chuyển tiếp thay thế' trong các bài kiểm tra đơn vị của tôi, và tôi không thể tìm ra nơi mà thực sự sẽ được.AngularJS và UI-Router: 'Lỗi: chuyển tiếp thay thế' trong các thử nghiệm đơn vị góc cạnh
Đơn vị kiểm tra:
import angular from 'angular';
import 'angular-mocks';
import worldManagerApp from '../../src/world-manager-app';
import security from '../../src/security/security';
const {inject, module} = angular.mock;
describe('LoginService',()=> {
let $httpBackend;
let $rootScope;
let successHandler;
let errorHandler;
let LoginService;
const USER = {username: "TEST", password: "PASSWORD"};
beforeEach(function() {
module(worldManagerApp);
module(security);
});
beforeEach(inject((_$httpBackend_, _LoginService_, _$rootScope_) => {
$httpBackend = _$httpBackend_;
$rootScope = _$rootScope_;
LoginService = _LoginService_;
successHandler = jasmine.createSpy('successHandler');
errorHandler = jasmine.createSpy('errorHandler');
}));
it('should exist',() => {
expect(LoginService).toBeDefined();
});
describe('.login()',() => {
describe('when given a proper username and password',() => {
it('should return the username and success',() => {
$httpBackend.expectPOST('/login').respond(200, {user: USER});
LoginService.login("TEST", "PASSWORD");
$rootScope.$digest();
$httpBackend.flush();
expect($rootScope.currentUser).toEqual("TEST");
});
});
});
});
dịch vụ:
export default function LoginService($http){
'ngInject';
let service = {};
service.login = login;
function login(username, password){
$http({
url:'/login',
method: 'POST',
data: {
username: username,
password: password,
},
}).then (function(response) {
response.username;
}).catch(function(response){
});
}
return service;
}
Lỗi:
PhantomJS 1.9.8 (Windows 8 0.0.0) LoginService .login() when given a proper username and password should return the username and success FAILED
Error: transition superseded
at C:/Users/Manifest/AppData/Local/Temp/353229d8bf0abe298e7003bab30c0528.browserify:9387 <- node_modules/angular-mocks/angular-mocks.js:261:0
at processChecks (C:/Users/Manifest/AppData/Local/Temp/353229d8bf0abe298e7003bab30c0528.browserify:33750 <- node_modules/angular/angular.js:16674:0)
at C:/Users/Manifest/AppData/Local/Temp/353229d8bf0abe298e7003bab30c0528.browserify:35048 <- node_modules/angular/angular.js:17972:0
at C:/Users/Manifest/AppData/Local/Temp/353229d8bf0abe298e7003bab30c0528.browserify:34862 <- node_modules/angular/angular.js:17786:0
at C:/Users/Manifest/AppData/Local/Temp/353229d8bf0abe298e7003bab30c0528.browserify:521 <- frontend\test\security\loginService.spec.js:42:15
tôi giả sử nó là một vấn đề ui-Router, nhưng tôi không thể tìm ra cách nó nên làm việc nếu tôi làm sai.
Cảm ơn, điều này đã giải quyết được cho tôi. – aoakeson
Điều này làm việc cho tôi trước đó, khi thử nó cho một ứng dụng khác nhau đó là nt working.errors vẫn được nhìn thấy – user168983
Việc nâng cấp ui-router đã khắc phục sự cố. Chúc mừng! – Sairam