测试工厂时未知的提供商

时间:2014-12-04 14:02:58

标签: angularjs angularjs-service

尝试在angualar中测试工厂时出现以下错误:

错误:[$ injector:unpr]未知提供者:$ resourceProvider< - $ resource< - myService

项目中已有测试做类似的事情并且工作正常,所以我不能为我的生活弄清楚为什么这些不能正常工作。这是impl代码:

(function () {
'use strict';

var module = angular.module('first.module', []);

function firstThing() {
    this.doSomething = function (something) {
        return campaign;
    };
}

module.service('firstThing', firstThing);

function myServiceFactory($resource, notifier) {
    var Resource = $resource('/api/campaigns/:id', { id: '@id' }, {
        get: { method: 'GET' }
    });

    function listItems() {
        return [];
    }

    return {
        list: listItems
    };
}

module.factory('myService', myServiceFactory);

})();

测试代码是:

'use strict';

describe('My service test', function () {

    var myServiceFactory, campaign, $injector;

    beforeEach(module('first.module'));

    beforeEach(inject(function (_$injector_) {
        $injector = _$injector_;
        myServiceFactory = $injector.get('myService');
    }));

    it('true is true', function () {
        expect(true).toEqual(true);
    });
});

Karma正在用于测试。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您应该将ngResource模块添加到模块依赖项中。

var module = angular.module('first.module', ['ngResource']);