Karma Jasmine错误:意外请求:GET but i';我在写一篇文章
我真的挣扎了几个小时,现在不能只是理解什么是错误的,这是我的代码 我的服务:Karma Jasmine错误:意外请求:GET but i';我在写一篇文章,jasmine,karma-jasmine,Jasmine,Karma Jasmine,我真的挣扎了几个小时,现在不能只是理解什么是错误的,这是我的代码 我的服务: (function(){ 'use strict'; angular .module('app') .factory('register', register); register.$inject = ['$http']; function register($http){ var service = { post: post }
(function(){
'use strict';
angular
.module('app')
.factory('register', register);
register.$inject = ['$http'];
function register($http){
var service = {
post: post
};
return service;
/////////////////////
function post(data){
return $http.post('/user/register', data)
.then(registerSuccess)
.catch(registerError);
function registerSuccess(response){
return response;
}
function registerError(error){
return error;
}
}
}
})();
和规范文件
describe('Register service', function(){
beforeEach(module('app'));
var service;
beforeEach(inject(function($http, $httpBackend, _register_) {
http = $http;
httpBackend = $httpBackend;
service = _register_;
}));
it('check if register service exist', function(){
expect(service).toBeDefined();
expect(service.post()).toBeDefined();
});
it('rrrr', function(){
httpBackend.expectPOST('/user/register', {u: 'xyz', password: 'pass' })
.respond(200, {'status': 'success'});
service.post({u: 'xyz', password: 'pass' })
.then(function(data){
expect(data.status).toBe(200);
});
httpBackend.flush();
});
});
如果有人能帮我理解我为什么会犯这个错误
Error: Unexpected request: GET src/app/user/user.html
谢谢…应用程序正在使用XHR请求获取路由/组件/指令的模板。最好的解决方法是使用
$templateCache
你可以与karma一起使用将模板放入缓存
有关更多信息,请参阅。最简单的解决方案是使用RegExp('.*.html'):
//setup backend so all .html requests get an 200 response
httpBackend
.whenGET(new RegExp('.*.html'))
.respond(function(){ return [200, 'XXX', {}] });
//setup spec specific behavior
httpBackend
.expectPOST('/user/register', {u: 'xyz', password: 'pass' })
说明:这确保所有.html GET请求都得到200状态响应的响应
这也会使您的“意外请求”错误消失 希望能有帮助