我想测试一个具有过滤依赖性的指令。我想注入实际的过滤器,而不是使用模拟。
这是我的嘲笑beforeEach
。如何注入实际filter
?我尝试注入inject function
,但这似乎不起作用。
beforeEach(function() {
// filter mock
someFilterMock = function(value) {
return value;
};
// get app
module('app');
// get html templates
module('templates');
// replace filter with a mock
module(function($provide) {
$provide.value('someFilterFilter', someFilterMock);
});
// inject & compile
inject(function($rootScope, $compile) {
// create scope
scope = $rootScope.$new();
// create element using directive
element = angular.element('<this-is-directive />');
$compile(element)(scope);
scope.$digest();
});
});
答案 0 :(得分:1)
我在测试中做了类似的事情:
it('uses a filter', inject(function ($filter) {
var result = $filter('filterName')(params);
expect(result).toBe('something');
}));
也许它有帮助吗?