多次聚合物元素测试与karma测试运行器

时间:2014-03-14 04:56:13

标签: karma-runner polymer

我已经根据Polymer如何使用Mocha为其组件编写测试,为茉莉花中的聚合物元素编写了一些测试。如果我单独运行它,我能够成功运行这些测试。

通过看看Polymer的core tests,我理解的是有一个自定义测试运行器使用mocha-htmltest.js来启动每个聚合物元素测试(每个都是一个html) iframe然后为每次测试销毁它。要显示的结果将传递到每个测试的主窗口。 在这种方法中,在iframe中运行的每个聚合物元素测试html导入所需的所有库(茉莉,平台,聚合物)。

重新构建iframe导入每个元素测试的所有库,这不是一种昂贵的方法吗? 有没有其他方法可以进行多种聚合物元素测试?

如果没有一个测试污染另一个,我找不到替代方法。(面对的问题,比如能够只为第一个元素测试听取聚合物就绪)

任何人都可以分享一些关于你如何设法运行多个聚合物元素测试的想法,并将业力作为测试运行者吗?

谢谢, VJ。

1 个答案:

答案 0 :(得分:2)

我们之所以选择iframe方法,是因为我们想用普通的HTML编写测试而不需要使用javascript innerHTML技巧,我们在所有支持的浏览器中使用karma进行测试。 iframes为我们提供了两个要求,但却花了一些时间来运行。

我必须注意,我们通常在iframe中测试一些相关的东西,因为成本太高了。从这个意义上讲,我们在摩卡术语中的“套件”和“测试”之间的某处使用它们。

也许在未来的某个时刻,可以制作一个更轻的层(ES6 / 7 Realms + ShadowDOM?),它为我们的测试运行提供了一个干净的环境,但速度对我们来说并不是特别令人发指。