我正在尝试使用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__
。
答案 0 :(得分:0)
为了确保文件也包含在"文件中,预处理器实际将文件放入__html__
数组是必要的。业力配置文件的一部分。如果没有包含在内,则不会将它们放入阵列中。
答案 1 :(得分:0)
也可能你也使用ng-html2js预处理器。他们在index.js
:
// TODO(vojta): remove this in 0.11
'preprocessor:html2js': ['factory', require('./html2js')]
删除后,它会起作用。