大佬教程收集整理的这篇文章主要介绍了单元测试 – 如何单位测试带角度的角度控制器$on?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
angular.module('test').controller('TESTCtrl',function($rootScope,$scope,testservicE) { [...] $scope.$on("myEvent",function(args,value) { testservice.dostuff(value); }); });
这在应用程序本身中完美无缺.但是,当我尝试单元测试控制器的功能(使用Jasmine和Karma)时,每个测试方法会引发以下错误:
TypeError: $scope.$on is not a function in [...]/TESTController.js
我在我的测试方法中创建控制器如下.
it('does stuff',inject(function($rootScope,$controller,testservicE) { var scope = $rootScope.$new; $controller('TESTCtrl',{ $scope : scope }); [...] }));
我可以通过更改我的控制器来使用rootScope来解决问题:
$rootScope.$on(...)
但是当然应用程序不能像预期的那样工作.我也可以通过在我的测试代码中引入$on方法来摆脱错误:
var scope = $rootScope.$new; scope.$on = function() {};
但是像这样的嘲笑听众就失败了测试我的真实代码的目的.
it('does stuff',testservicE) { var scope = $rootScope.$new(); $controller('TESTCtrl',{ $scope : scope }); [...] }));
以上是大佬教程为你收集整理的单元测试 – 如何单位测试带角度的角度控制器$on?全部内容,希望文章能够帮你解决单元测试 – 如何单位测试带角度的角度控制器$on?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。