我有一个具有多个依赖项的控制器。 我是否需要全部模拟以测试我的范围? 这是我的代码......
.controller('SignupCtrl', ['$scope', 'vcRecaptchaService', '$http', '$location', '$compile', 'createModal', '$routeParams', '$filter', 'allCountriesService', 'allStatesProvincesService', 'allCitiesMunicipalitiesService', 'appConfig', 'AuthService', '$rootScope', '$timeout', 'appConfigHC', '$log', function ($scope, vcRecaptchaService, $http, $location, $compile, $createModalService, $routeParams, $filter, allCountriesService, allStatesProvincesService, allCitiesMunicipalitiesService, appConfig, AuthService, $rootScope, $timeout, appConfigHC, $log) {
答案 0 :(得分:0)
您应该只需要模拟对服务器进行$http
调用的依赖项。其他只包含完全驻留在JavaScript中的逻辑的依赖项不需要被模拟。
以下是一个链接,详细说明了使用$httpBackend
来模拟对服务器的调用。
https://docs.angularjs.org/api/ngMock/service/ $ httpBackend
希望这有帮助。
答案 1 :(得分:-1)
创建一个服务,为您处理所有http调用并模拟该服务。不建议在控制器中处理http调用。