如何为单元测试提供模拟过滤器

How to provide mock filters for unit testing

我有一个控制器有这行代码

 var formattedDate= $filter('date')(dateColName,short);

我正在尝试对该控制器进行单元测试,但我不清楚如何在我的代码中模拟日期过滤器。

在 Angular 中模拟过滤器时,您需要将 'Filter' 添加到过滤器名称的末尾,因为 Angular 像服务一样存储过滤器,但添加 'Filter'到最后。例如试试这个:

var mockFilter = function() {
    return 'whatyouwantittoreturn';
};

beforeEach(function() {
    module(function($provide) {
        $provide.value('dateFilter', mockFilter );
    });
});