使用Web组件测试器调用存根,替换和夹具需要什么顺序

时间:2016-07-30 13:43:08

标签: polymer web-component-tester

我开始为我的应用中的一些元素构建测试套件。在顶层,我有一个<my-app>元素,在其模板中,它使用<my-session元素来控制用户登录,使用<iron-media-query>元素来定义在应用标题中使用的字符串的长度

为了更好地控制这两者的行为,我正在构建它们的特殊测试版本,并使用replace('my-session').with('test-session')方法来改变它们。我还将使用stub函数来控制与测试套件的交互。

我已完全阅读了聚合物网站上的文档,但在您致电replace之前或之后,我无法确定您是否必须使用stubfixture

有人可以提供建议

1 个答案:

答案 0 :(得分:2)

我最终找到了答案

必须在实例化夹具之前调用两者。原因是存根改变了原型元素(即在它被创建之后但在它被压入dom之前,所以它需要在夹具之前完成)。

替换函数实际上将一个条目添加到地图中,以便在实例化实例时使用。因此,需要在夹具调用之前调用它。

截至今天,最新版本的网络组件测试人员并没有包含一个修复程序,允许它在高度嵌套的元素上工作(例如我试图测试我的应用程序级元素和应用程序 - app-header-layout中的工具栏在使用replace时没有被展开,但是修复是在master中。作为临时措施,我将browser.js的主版本复制到bower_componenents / web-component-tester目录中使用的副本中。

我认为在一些非常复杂的布局中仍然存在一个错误。我在其内容中有一个带有dom-if模板的纸质吐司,我试图用测试版本替换它作为模拟,它的模板中也有标签。这没有用