我开始为我的应用中的一些元素构建测试套件。在顶层,我有一个<my-app>
元素,在其模板中,它使用<my-session
元素来控制用户登录,使用<iron-media-query>
元素来定义在应用标题中使用的字符串的长度
为了更好地控制这两者的行为,我正在构建它们的特殊测试版本,并使用replace('my-session').with('test-session')
方法来改变它们。我还将使用stub
函数来控制与测试套件的交互。
我已完全阅读了聚合物网站上的文档,但在您致电replace
之前或之后,我无法确定您是否必须使用stub
和fixture
。
有人可以提供建议
答案 0 :(得分:2)
我最终找到了答案
必须在实例化夹具之前调用两者。原因是存根改变了原型元素(即在它被创建之后但在它被压入dom之前,所以它需要在夹具之前完成)。
替换函数实际上将一个条目添加到地图中,以便在实例化实例时使用。因此,需要在夹具调用之前调用它。
截至今天,最新版本的网络组件测试人员并没有包含一个修复程序,允许它在高度嵌套的元素上工作(例如我试图测试我的应用程序级元素和应用程序 - app-header-layout中的工具栏在使用replace时没有被展开,但是修复是在master中。作为临时措施,我将browser.js的主版本复制到bower_componenents / web-component-tester目录中使用的副本中。
我认为在一些非常复杂的布局中仍然存在一个错误。我在其内容中有一个带有dom-if模板的纸质吐司,我试图用测试版本替换它作为模拟,它的模板中也有标签。这没有用