2017-09-19 7 views
1

フィルタ内でフィルタを使用しています。私はこのユニットテストでどうやって行くべきですか?別のフィルタを使用するフィルタを単体テストする方法

+0

あなたはダミーフィルターを所有し、角度モックやクレートを取得しますバージョン。 http://www.bradoncode.com/blog/2015/05/27/ngmock-fundamentals-angularjs-testing-inject/ – Miguel

+0

@Miguel自分でダミーフィルターを作成するにはどうすればいいですか? – kennanwho

答えて

1

フィルタはjust services with Filter suffixです。

フィルタがでスタブすることができます。

var filterStub; 
beforeEach(() => { 
    filterStub = jasmine.createSpy(); 
    module('app', ($filterProvider) => { 
    $filterProvider.register('startsWith',() => filterStub); 
    }); 
}); 

または:

var filterStub; 
beforeEach(() => { 
    filterStub = jasmine.createSpy(); 
    module('app', { startsWithFilter: filterStub }); 
}); 

そして、別のフィルタがでテストすることができます。

var anotherFilter = $filter('scUrlHttp'); 

filterStub.and.returnValue(true); 
expect(anotherFilter(...)).toBe(...); 
expect(filterStub).toHaveBeenCalledWith(...); 
関連する問題