使用Jasmine单元测试过滤器组件

我创建了一个组件,用于过滤掉传递给它的字符串。我正在尝试为此编写单元测试,它引发了与构造函数有关的错误。请帮我。


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');

});

});


qq_花开花谢_0
浏览 170回答 1
1回答

蝴蝶刀刀

这是测试过滤器的方法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');  });});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript