在这里尝试为过滤器设置测试,这是我所拥有的
过滤器:
angular.module('myApp')
.filter('discount', function(){
return function(input, discount){
if (input) return input*(discount);
};
});
测试
describe("Unit: discount", function() {
var filter
beforeEach(function(){
module.apply('myApp');
inject(function($injector){
filter = $injector.get('$filter')('discount');
});
});
it('should filter the parameters passed', function(){
expect(filter(1, 0.5)).toBe(0.5);
});
});
我收到的错误:
PhantomJS 1.9.8 (Mac OS X) Unit: discount should filter the parameters passed FAILED
Error: [$injector:unpr] Unknown provider: discountFilterProvider <- discountFilter
预期的效果是将过滤器1作为输入,将0.5作为折扣,并期望返回0.5。我是一个全新的工作,我被困,所以我可以使用一点帮助。谢谢!
答案 0 :(得分:0)
错误:
Unknown provider: discountFilterProvider <- discountFilter
告诉你$ injector无法找到discountFilter。 模块myApp未正确加载。
你应该在每个之前尝试这种语法:
var filter;
beforeEach(module('myApp'));
beforeEach(function (){
inject(function($injector){
filter = $injector.get('$filter')('discount');
});
});