javascript - 如何在 AngularJS 1.x 中对过滤器进行单元测试

标签 javascript angularjs jasmine angularjs-filter

如何在 Angular 中对过滤器进行单元测试?

最佳答案

注入(inject)$filter,然后使用$filter('filterName')(input, options);调用它

因此,要测试此模板的等效项{{ foo | testFilter:大写 }}

describe('The test filter', function () {
  'use strict'; 

  var $filter;

  beforeEach(function () {
    module('myTestFilterModule');

    inject(function (_$filter_) {
      $filter = _$filter_;
    });
  });

  it('should capitalize a string', function () {
    // Arrange.
    var foo = 'hello world', result;

    // Act.
    result = $filter('testFilter')(foo, 'capitalize');

    // Assert.
    expect(result).toEqual('HELLO WORLD');
  });
});

关于javascript - 如何在 AngularJS 1.x 中对过滤器进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21094569/

相关文章:

javascript - 每当用户单击动态 url ReactJS 时如何渲染到页面?

javascript - 使用 Kendo UI Grid 的 Knockout JS 忘记了用户的选择

javascript - 我们如何检测影子根是使用 v0 还是 v1 API 创建的?

java - 在java中的字符串中包含连接运算符(+)

javascript - Angularjs <select> 在 ng-options 更新时不调整高度

javascript - karma - Jasmine : Error: No provider for framework:jasmine-ajax

angularjs - 使用 Jasmine 测试 Angular Controller 对带有 Promise 返回的服务的调用的最佳方法

具有默认功能和其他功能的 Javascript 对象

javascript - Controller 中的元素 scrollTo 或 AngularJS 中的指令?

javascript - 如何对延迟函数执行单元测试?