當我嘗試做一個測試錯誤:未知提供商 - 噶,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