为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_花开花谢_0 2021-04-05 16:17:52
我创建了一个组件,用于过滤掉传递给它的字符串。我正在尝试为此编写单元测试,它引发了与构造函数有关的错误。请帮我。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');

  });

});


查看完整回答
反对 回复 2021-04-15
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号