我创建了一个组件,用于过滤掉传递给它的字符串。我正在尝试为此编写单元测试,它引发了与构造函数有关的错误。请帮我。import angular from 'angular';import filter from "./format-string.filter"angular.module( "filters.truncateString", [] ).filter( "truncateString", () => filter );class TruncateString { filter(val){ const accValue = val.split('YYYY'); const firstValue= accValue[1].replace(/^(|-?\d+)$/, ''); return `${accValue[0]} ${firstValue} AAA`; }}export default TruncateString .filter;`我写的测试是import angular from 'angular';import 'angular-mocks';import TruncateString from './format-string.filter';describe('TruncateString filter', () => {let controller, filter;beforeEach(angular.mock.module('filters.TruncateString'));controller = new TruncateString();beforeEach(inject(function(_$filter_){ filter = _$filter_;}));it('Checking whether the function is returning formatted string', () => { const result = controller.filter('123YYY3213123'); expect(result).toHaveBeenCalledWith('123 YYY ... 23');});});
1 回答

蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
这是测试过滤器的方法
describe('Test My Filter', () => {
let $filter;
beforeEach(() => {
module('filters.TruncateString');
inject((_$filter_) => {
$filter = _$filter_;
});
});
it('should test filter behavior', () => {
let result = $filter('truncateString')('testval');
expect(result).toEqual('expectedval');
});
});
添加回答
举报
0/150
提交
取消