控制器代码:
angular.module('myModule', []) .controller('myController', function($scope) { $scope.num = 2; $scope.doSomething = function() { $scope.num += 2; } });
考试:
describe('myController', function() { var $scope; beforeEach(function() { module('myModule'); inject(function($controller, $rootScope) { $scope = $rootScope.$new(); $controller('myController', { '$scope': $scope }) }); }); it('should increment `num` by 2', function() { expect($scope.num).toEqual(2); $scope.doSomething(); expect($scope.num).toEqual(4); }); });
跑!
问题内容: 对于我一生,我无法让$ httpBackend在执行$ http get请求的控制器上工作。我已经尝试了几个小时=) 我将其简化为下面可以最简单的形式。如果我通过测试 在控制器中注释掉$ http.get()请求 在测试中注释掉“ httpMock.flush()” 并更改“猪”和“狗”以匹配 也就是说,这是一个有效的工作测试和应用程序。 如果放回去,则会在底部显示错误。 app /
我正在为一个应用程序工作,该应用程序使用警报告诉用户它正在使用nfc。我正在对这个应用程序进行单元测试,并在alertcontroller上设置了一个间谍。创建方法如下: 在单元测试中,我想检查是否使用正确的警报选项调用它,如下所示: 然而,问题是由于处理程序的原因,它在运行测试时给出了错误。我如何有效地测试alertcontroller.create函数是否使用正确的值调用?就像现在一样,测试给
本文向大家介绍AngularJS 单元测试服务,包括了AngularJS 单元测试服务的使用技巧和注意事项,需要的朋友参考一下 示例 服务编号 考试 跑!
问题内容: 正如我们在http://docs.angularjs.org/tutorial/step_07中看到的那样, 建议通过e2e测试来完成路由测试, 但是,我认为’$ routeProvider’配置是通过单个函数function($ routeProvider)完成的,我们应该能够在不涉及浏览器的情况下进行单元测试,因为我认为路由功能不需要浏览器DOM。 例如, 当url为/ foo时,
本文向大家介绍AngularJS 单元测试过滤器,包括了AngularJS 单元测试过滤器的使用技巧和注意事项,需要的朋友参考一下 示例 过滤器代码: 考试: 跑! 备注:在inject测试的调用中,您的过滤器需要使用其名称+ Filter来指定。原因是,每当您为模块注册过滤器时,Angular都会Filter在其名称后面附加一个注册它。
问题内容: 我正在尝试创建一个简单的单元测试来测试我的表演功能。 我收到以下错误: 看来这不是控制器的范围吗? 这是我的控制器: 这是我的控制器单元测试: 问题答案: 为什么不简单地使用spyOn函数? 希望这可以帮助!