我正在使用Karma来测试角度指令中的函数。该函数执行正常,但其中的http.get
请求似乎被忽略,而其他人抛出unexpected get
错误。
beforeEach(inject(function($injector, $compile, $rootScope){
$gCompile = $compile;
$gScope = $rootScope;
$httpBackend = $injector.get('$httpBackend');
$gHttp = $httpBackend;
}));
it("Should login to the UI", function() {
//Compile directive
var element = angular.element('<my-app></my-app>');
$gCompile(element)($gScope);
//Reference it's local scope
var dirScope = element.scope();
$gScope.$digest();
dirScope.login();
});
get请求位于登录功能中。
答案 0 :(得分:0)
如果您可以向我们展示login()
功能的外观,可能会有所帮助,但现在看起来您似乎没有正确使用$httpBackend
。
看看http://docs.angularjs.org/api/ngMock/service/$httpBackend。
您应该在$httpBackend
上设置预期,然后调用login()
函数,然后在flush()
上致电$httpBackend
。