【问题标题】:Unit testing a helper inside a custom provider in angularjs在 angularjs 的自定义提供程序中对帮助程序进行单元测试
【发布时间】:2016-01-29 13:37:47
【问题描述】:

我有这个提供者:

angular.module('app').provider('appProvider', function() {
  this.$get = Helper;

  function Helper() {
    function method() {
      return true;
    };

    return {
      method: method
    };
});

在单元测试时,我可以访问 appProvider,但不能访问单元测试中的 Helper。我一直在尝试这个:

describe('test', function() {
  var prov;

  beforeEach(angular.mock.module('app', function(appProvider) {
    prov = appProvider;
  }));

  it('provider', inject(function() {
    expect(prov.Helper.method()).toEqual(true);
  }));
});

得到这个错误:

TypeError: 'undefined' 不是对象(评估 'prov.Helper.method()')

问题是:我如何到达 method() 以评估是否正确的行为?

【问题讨论】:

    标签: angularjs unit-testing provider


    【解决方案1】:

    您正在尝试测试您的提供者提供的服务的方法,因此测试提供者似乎有点迂回。为什么不直接测试服务呢?

    【讨论】:

    • 当服务(Helper)在提供者(appProvider)内部声明时,不知道怎么做。
    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多