15

我使用以下应用程序设置了 yeoman-angular:

angular.module('myApp', ['ngResource','ui.bootstrap'])
  .config(['$routeProvider', function ($routeProvider) {
      $routeProvider
      ...
  }]);

和服务:

angular.module('myApp')
  .factory('UserSvc', [function() {
        return {
            name : '',
            topicOrder: 'lec_type',
        };
    }]);

和以下测试:

describe('Service: UserSvc', function () {

  beforeEach(module('mfApp'));

  var UserSvc;
  beforeEach(inject(function(_UserSvc_) {
    UserSvc = _UserSvc_;
  }));

  it('should do something', function () {
    expect(UserSvc.topicOrder).toEqual('lec_type');
  });

});

我已经尽力在测试中注入 $resource (虽然服务本身并不依赖于 ngResource),但是当我运行测试时,我得到了这个错误

Error: No module: ngResource

如果我从模块本身中删除依赖项,

angular.module('myApp', [])

然后测试成功运行

我真的尝试了一切但失败了

4

2 回答 2

45

在您的 testacular.conf.js / karma.conf.js 中是否包含 angular-resource.js;例如

files = [
  JASMINE,
  JASMINE_ADAPTER,
  'app/vendor/angular/angular.js',
  'app/vendor/angular/angular-*.js',
于 2013-03-28T02:56:13.847 回答
3

包含新组件后,请记住重新启动Testacular/Karma 会话。

于 2013-04-04T00:39:38.963 回答