关于AngularJS单元测试中的mock $ compileProvider的详细信息

时间:2013-06-27 21:13:25

标签: angularjs karma-runner

我正在Angular应用中配置$compileProvider,因此我可以在我的HTML中插入电话链接,详见this post

app.config ['$compileProvider', ($compileProvider) ->
    $compileProvider.urlSanitizationWhitelist /^\s*(https?|ftp|mailto|file|tel):/
]

这很好用。

然而,现在我的单元测试(在Karma中)死于TypeError: Object #<$CompileProvider> has no method 'urlSanitizationWhitelist'。我认为这意味着模拟$compileProvider与常规模拟不同。那么如何让我的单元测试再次运行呢?

1 个答案:

答案 0 :(得分:4)

自Angular 1.2以来,该方法已更改为$ compileProvider.aHrefSanitizationWhitelist()

这个答案来自这里:Angular changes urls to "unsafe:" in extension page