如何嘲笑角翻译过滤器,单元测试指令 [英] How to mock angular translate filter in unit tests for directives
问题描述
在我的指令模板,我需要使用的角度转换过滤器这样:
In my directive templates, I need to use the angular translate filter as such:
<label for="data-source-btn">
<span id="data-source-btn-span"></span>
{{'Data Source' | translate}}
</label>
然后在这个指令我的单元测试,我得到的错误:
Then in my unit test for this directive, I get the error:
未知提供商:translateFilterProvider&LT; - translateFilter
Unknown provider: translateFilterProvider <- translateFilter
我已经试过注射$过滤器并获得$ $通过翻译:= $过滤器(翻译);不解决这个问题 - 这是真的用于测试过滤器
I've tried injecting $filter and getting $translate by $translate = $filter('translate'); which doesn't solve the problem - this is really for testing the filter
我可以注入的模块帕斯卡尔precht.translate,但那是重手。我如何最好的模拟滤波器?
I can inject the module pascalprecht.translate, but that is heavy handed. How do I best mock the filter?
推荐答案
下面是如何可以模拟滤波器一个简单的例子。
Below is a simple example of how you can mock the filter.
var mockTranslateFilter;
beforeEach(function() {
module(function($provide) {
$provide.value('translateFilter', mockTranslateFilter);
});
mockTranslateFilter = function(value) {
return value;
};
});
这篇关于如何嘲笑角翻译过滤器,单元测试指令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!