当我尝试做一个测试错误:未知提供商 - 噶,requirejs,角
Error: [$injector:unpr] Unknown provider: $translateProvider <- $translate
我使用的是业力requirejs我得到这个错误。
loadingCtrlSpec.js
define([
'angular',
'angular-mocks',
'app',
'angular-translate'
], function(angular, mocks, app) {
'use strict';
describe('loadingCtrl', function(){
var ctrl, scope, translate;
beforeEach(mocks.module('TestApp'));
beforeEach(inject(function($injector){
scope = $injector.get('$rootScope').$new();
translate = $injector.get('$translate');
}));
it("contains spec with an expectation", function() {
expect(true).toBe(true);
});
});
});
loadingCtrl.js
define(['angular'], function (angular) {
'use strict';
angular.module('TestApp', [])
.controller('loadingCtrl', ['$scope', '$translate', function($scope, $translate) {
$translate(['build.DEFAULT_EMAIL_SUBJECT','build.DEFAULT_EMAIL_NOTES']).then(function (translations) {
$scope.title = translations["build.DEFAULT_EMAIL_SUBJECT"];
$scope.notes = translations["build.DEFAULT_EMAIL_NOTES"];
});
}]); })
如果我不使用角转换($翻译)一切工作,所以我不认为这个问题是从karma.conf.js或测试-main.js(对于业力的require.conf)。
此错误表明,角找不到$转换模块。检查你的karma.conf,看看角度翻译文件是否被正确包含 – dpellier