【问题标题】:Multiple polymer element tests with karma test runner使用 karma 测试运行器进行多种聚合物元素测试
【发布时间】:2014-03-31 00:45:36
【问题描述】:

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

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

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

如果没有一个测试会污染另一个测试,我找不到替代方法。(面临的问题,例如只能在第一个元素测试时收听聚合物)

任何人都可以分享一些关于您如何以 karma 作为测试运行者的方式运行多个聚合物元素的测试的想法吗?

谢谢, vj.

【问题讨论】:

    标签: karma-runner polymer


    【解决方案1】:

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

    我必须注意,我们通常会在 iframe 中测试许多相关的东西,因为成本非常高。从这个意义上说,我们在 mocha 术语中的“套件”和“测试”之间使用它们。

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

    【讨论】:

      猜你喜欢
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      • 2016-12-25
      • 2013-05-16
      相关资源
      最近更新 更多