在angularjs中对自定义提供程序内的帮助程序进行单元测试

时间:2016-01-29 13:37:48

标签: angularjs unit-testing provider

我有这个提供者:

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

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

    return {
      method: method
    };
});

进行单元测试时,我可以在单元测试中找到 appProvider ,而不是帮助。我一直在尝试这个:

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

问题是:如何评估方法()以评估是否是正确的行为?

1 个答案:

答案 0 :(得分:0)

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