首页 > 解决方案 > 如何模拟 angular.element.injector().get;

问题描述

我在 angularjs 文件中有这样的控制器代码...

    function sendAnalytics(searchParams) {
        var analyticServiceCall = angular.element(document.body).injector().get('SomeElement');
     };

当我运行带有上述控制器的测试用例时,出现以下错误

 * TypeError: Cannot call method "get" of undefined in http://localhost:46309/src/soemFolder/someController.js (line XYZ)

我的理解是,我需要模拟 angular.element(document.body).injector().get 函数但是怎么做呢?

标签: angularjsjasmine

解决方案


beforeEach(inject(function($injector) {
  angular.element.fn.extend({ injector: function() { return $injector } });
});

你可以在这里找到更多信息


推荐阅读