组件templateUrl不符合规范

时间:2019-07-19 15:07:12

标签: angularjs testing mocking specifications

我正在为AngularJS组件运行测试。我认为通过在组件中使用templateUrl,我的spec / test文件会失败。

在我的规范中,我具有beforeAll函数

element = angular.element('<horizontal-list></horizontal-list>');
element = $compile(element)(scope);

我在Jest中收到此错误

  

[$ sce:insecurl] $ sceDelegate策略不允许从URL加载资源。网址:app / global / components / horizo​​ntal-list / horizo​​ntal-list.tpl.html

如何获得允许$ sce在组件中使用资源templateUrl的测试?

我知道我可以在模块应用程序配置中更改配置,但是我正在使用angular-mocks

更新以进行澄清 如何做到这一点,以便在运行测试时,对于templateUrl上的资源,blocked loading不会出错。在开发或生产环境中运行时,该错误不会在应用中发生,但会在测试中显示。

还:

templateUrl: function($sce) {
            return $sce.trustAsResourceUrl('app/global/components/horizontal-list/horizontal-list.tpl.html')
        }

解决该问题,直到我在测试中运行scope.$apply(),然后在无法找到资源的地方出现编译错误

0 个答案:

没有答案