Angularjs无法找到我的控制器

时间:2014-04-14 13:28:34

标签: javascript angularjs unit-testing

我正在使用angular-mock注入我的控制器进行单元测试。我没有这样做,因为我一直收到以下错误。

 [$injector:unpr] Unknown provider: PatientRecordsControllerProvider <- PatientRecordsController

这是我的代码设置 -

    (function () {
angular.module('patient_profile', ['ngRoute']);
    })();


(function () {
    var PatientRecordsController = function () {

    };

    angular.module('patient_profile').controller('PatientRecordsController', PatientRecordsController);
})();

我的测试用例

    describe('PatientRecordsController:unit-testing', function () {

    beforeEach(module('patient_profile'));

    it('timeline should be an array', inject(['PatientRecordsController',
        function (controller) {
            //Cant do stuff
        }
    ]));

});

更新相同的程序与服务完美配合。怎么样?

1 个答案:

答案 0 :(得分:1)

必须使用$controller服务实例化Controller。不是以下格式的测试清洁工吗?

describe('PatientRecordsController:unit-testing', function () {
    var controller;

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

        inject(function(_$controller_){
            controller = _$controller_('PatientRecordsController', {});
        });
    });

    it('timeline should be an array', function(){
        //DO STUFF using controller
    });
});