我正在为AngularJS组件运行测试。我认为通过在组件中使用templateUrl,我的spec / test文件会失败。
在我的规范中,我具有beforeAll函数
element = angular.element('<horizontal-list></horizontal-list>');
element = $compile(element)(scope);
我在Jest中收到此错误
[$ sce:insecurl] $ sceDelegate策略不允许从URL加载资源。网址:app / global / components / horizontal-list / horizontal-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()
,然后在无法找到资源的地方出现编译错误