编辑:
我正试图在angularJs控制器中为$ on事件编写测试
这是我的功能:
$scope.$on('$contentLoaded', function () {
MapsGoogle.init('France');
$rootScope.settings.layout.pageBodySolid = false;
$rootScope.settings.layout.pageSidebarClosed = false;
});
这就是我完成测试的方式:
it('should set $rootScope.settings.layout properties to false', function() {
$rootScope.$broadcast('$contentLoaded');
$rootScope.$digest();
expect(MapsGoogle.init).toHaveBeenCalledWith('France');
expect($rootScope.settings.layout.pageBodySolid).toBe(false);
expect($rootScope.settings.layout.pageSidebarClosed).toBe(false);
});
但是在运行测试后我得到了这个错误:
错误:意外请求:GET app / js / help / city.json 不再需要预期
有人能帮助我吗?
编辑: 我尝试在同一个控制器中为另一个函数编写另一个测试,我得到同样的错误测试用例是:
it('sets call changePicl function', function() {
$scope.changePicl(event);
$httpBackend.expectPOST('city/upload').respond(200,{data: {data: "somthing"}});
$httpBackend.flush();
});
我做的事与我之前做的完全相同,但这次测试失败了,我收到了这条消息:
Error: Unexpected request: GET app/js/help/city.json
Expected POST city/upload