我创建了一个自定义过滤器。每this post我在我的Jasmine中创建了以下内容......
beforeEach(module("workOrderManagerApp"));
var mockSearchFilter = function(text, tails, fillTailList) {
return null;
};
beforeEach(function() {
module(function($provide) {
$provide.value('searchItems', mockSearchFilter);
});
});
但是当我运行它时它仍然运行非模拟过滤器。我在这里错过了什么?
答案 0 :(得分:5)
您忘记将Filter
添加到过滤器名称的末尾,以便searchItems
为searchItemsFilter
。这不直观,您只需了解这一点。 Angular存储过滤器就像服务一样,但会在您传入的名称的末尾添加Filter
。
你会注入这样的过滤器:
.controller('MyController', [
'searchItemsFilter',
function(searchItems) {
}
])
所以你可以用$provide.value('searchItemsFilter', mockSearchFilter);