我正在使用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
}
]));
});
更新相同的程序与服务完美配合。怎么样?
答案 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
});
});