Karma html2js似乎没有创建任何__html__数组

时间:2014-07-21 16:16:50

标签: karma-runner

我正在尝试使用Karma为Polymer应用程序设置测试。然而,这些测试的基本要素是基本的html夹具。

然而,当我到达试图读取__html__数组的代码时。这给出了一个未定义的。

我已将所有关键文件包含在一个要点中 https://gist.github.com/akc42/121c619ef2476ce82086

因为需要加载polymer.js作为head中的第一个脚本,并且因为Karma将所有文件包含为脚本标记,所以我有一个PolymerTests.js脚本,它将Polymer元素添加到头部。它还定义了一个加载夹具功能,该功能应该读取放置在__html__中的一个文件,并将其添加到测试页主体中的容器div中。

var container;  //Used to hold fixture
PolymerTests.loadFixture = function(fixture,done) {
  container = document.createElement("div");
  container.innerHTML = __html__[fixture];
  document.body.appendChild(container);
  waits(0);
  done();
};

在特定测试的beforeEach例程中调用它。

然而,当我到达那里时,我得到了未定义。

EDITED 问题当然是任何人都知道如何弄清楚我做错了什么。我尝试了调试会话,但无法在任何地方看到window.__html__

2 个答案:

答案 0 :(得分:0)

为了确保文件也包含在"文件中,预处理器实际将文件放入__html__数组是必要的。业力配置文件的一部分。如果没有包含在内,则不会将它们放入阵列中。

答案 1 :(得分:0)

也可能你也使用ng-html2js预处理器。他们在index.js

中有丑陋的东西
  // TODO(vojta): remove this in 0.11
  'preprocessor:html2js': ['factory', require('./html2js')]

删除后,它会起作用。