我花了几个小时在这个问题上找不到什么是错的,我正在使用karma / jasmine在我的角度应用程序中创建测试 . 我使用,或者至少尝试使用angular-mock来注入和测试我的控制器,但是我得到了这个错误:

Error: [$injector:unpr] Unknown provider: ENVProvider <- ENV
    http://errors.angularjs.org/1.3.17/$injector/unpr?p0=ENVProvider%20%3C-%20ENV

在我的测试中

describe('controllers', function(){

beforeEach(模块( 'Mymodule中')); var $ controller;

beforeEach(inject(function(_$controller_){
    $controller = _$controller_;
}));

describe('$scope.testMessage', function() {
    it('check the test message is ok', function() {
        //TODO
    });
});

});

所以我认为这是导致问题的注入调用

这是我的karma.conf.js

'use strict';

module.exports = function(config) {
var configuration = {
autoWatch : true,

frameworks: ['jasmine'],

ngHtml2JsPreprocessor: {
  stripPrefix: 'src/',
  moduleName: 'hematiteFront'
},

browsers : ['PhantomJS'],

plugins : [
  'karma-phantomjs-launcher',
  'karma-chrome-launcher',
  'karma-jasmine',
  'karma-ng-html2js-preprocessor'
],

files: [
  'bower_components/jquery/dist/jquery.js',
  'bower_components/angular/*.js',
  'bower_components/angular-cookies/angular-cookies.js',
  'bower_components/angular-touch/angular-touch.js',
  'bower_components/angular-sanitize/angular-sanitize.js',
  'bower_components/angular-resource/angular-resource.js',
  'bower_components/angular-ui-router/release/angular-ui-router.js',
  'bower_components/angular-materialize/js/*.js',
  'bower_components/angular-materialize/src/*.js',
  'bower_components/angular-translate/angular-translate.js',
  'bower_components/angular-translate-loader-partial/angular-translate-loader-partial.js',
  'bower_components/angular-translate-storage-cookie/angular-translate-storage-cookie.js',
  'bower_components/angular-mocks/angular-mocks.js',

  'src/**/*.js'
],

logLevel: 'LOG_ERROR',

exclude: [
  'src/app/app.constants.js',
  'bower_components/**/index.js',
  'bower_components/**/*.min.js'
],


preprocessors: {
  'src/**/*.html': ['ng-html2js']
}
  };


  config.set(configuration);
};

任何想法或建议都不仅仅是好事

谢谢