测试Angular指令 - 无法编译指令

时间:2013-10-22 19:18:53

标签: javascript angularjs

这是我的测试文件:

describe('Clinical App', function() {

  var  template, element;

  beforeEach(module('clinicalApp'));

  describe('clinicalHeader', function() {
    beforeEach(module('app/views/header.html'));

    beforeEach(inject(function($templateCache, $compile, $rootScope) {
      template = $templateCache.get('app/views/header.html');
      $templateCache.put('views/header.html', template);
      var directive = angular.element('<clinical-header></clinical-header>');
      element = $compile(directive)($rootScope);
      $rootScope.$digest();
    }));

    it('should have a list of links', function() {
      var links = element.find('a');
      expect(links.length).toBe(4);
    });
  });
});

我一直收到Error: [$compile:multidir] Multiple directives [clinicalHeader, clinicalHeader] asking for template on:错误。我没有看到我装载东西2次。有人可以看看吗?

1 个答案:

答案 0 :(得分:0)

这个问题无法回答,因为你没有所有的信息。我有一个我的指令副本,我正在测试隐藏在控制器文件夹中。加载应用程序时,它还加载了指令的额外副本。因此我得到了一个多指令错误。