使用inject函数不能使用beforeEach

时间:2016-01-17 17:20:41

标签: angularjs karma-mocha angular-mock

这是来自karma.conf.js文件:

contact[email]

我正在尝试使用beforeEach函数,像这样注入:

module.exports = function (config) {
  config.set({
      frameworks: ['mocha', 'chai'],
      files: [
        'bower_components/angular/angular.js',
        'bower_components/angular-mocks/angular-mocks.js',
        'public/ng-app/module.js',
        'public/ng-app/**/*.js',
        'test/ng/**/*.spec.js'
      ],
  ...

但是beforeEach(inject(function(...)...);部分代码导致此错误 当我尝试运行测试时:

describe('my.test', function () {
  beforeEach(module('app'));

  var MyService;
  beforeEach(inject(function (_MyService_) {
    MyService = _MyService_;
  }));

  describe('#send', function () {
    it('exists', function () {
      expect(MyService.save).to.exist;
    });
  });

});

我无法弄清问题是什么。有人有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:5)

https://github.com/angular/angular.js/issues/13794

将Polyfill用于bind或Phantom2或在Chrome中测试

答案 1 :(得分:0)

我从Angular 1.5.0降级到1.2.29,现在测试没有错误。