javascript - 错误 : Unknown provider - Karma, requirejs, Angular

标签 javascript angularjs requirejs karma-runner

当我尝试进行测试时出现此错误

Error: [$injector:unpr] Unknown provider: $translateProvider <- $translate

我将 karma 与 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);
            });

        });  
});

正在加载Ctrl.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"];
        });
    }]); })

如果我不使用 Angular-translate ($translate) 一切正常,所以我认为问题不是来自 karma.conf.js 或 test-main.js (karma 的 require.conf)。

最佳答案

您的 TestApp 模块需要将 pascalprecht.translate 模块指定为依赖项。另外,在定义主模块时,请务必包含 Angular-translate 作为依赖项,以便加载相关脚本:

define(['angular', 'angular-translate'], function (angular) {
    angular.module('TestApp', ['pascalprecht.translate']);
});

关于javascript - 错误 : Unknown provider - Karma, requirejs, Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24905000/

相关文章:

javascript - 如何使用 AngularJS/Ionic 中现有的章节选择功能

jquery、bootstrap 3.0 和 requirejs。无法使用bootstrap的功能

javascript - Jquery setTimeout 不起作用(图像幻灯片)

javascript - Angularjs $window.open 弹出窗口被阻止

angularjs - ng-无限滚动.js :42 Uncaught ReferenceError: app is not defined

angularjs - Angular RC 2 - 从 json 文件动态渲染组件

javascript - MVC Kendo 网格自定义过滤器

javascript - 使用javascript用表行数据填充表单

javascript - 如何使用客户端 Javascript 向 Ldap 发出请求?

javascript - RequireJS 2.1.9 在使用 Grunt 时导致 "Maximum call stack.."错误