2

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

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

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

有人可以建议

4

1 回答 1

2

我终于找到了答案

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

replace 函数实际上在映射中添加了一个条目,以便在实例化夹具时使用。所以再次需要在夹具调用之前调用它。

截至今天,最新版本的 web-components-tester 不包含允许它在高度嵌套的元素上工作的修复程序(例如,我试图测试我的应用程序级别元素和应用程序中的应用程序工具栏-使用替换时没有扩展标题布局)但修复程序在主服务器中。作为临时措施,我将 browser.js 的主版本复制到 bower_componenents/web-component-tester 目录中正在使用的副本中。

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

于 2016-08-11T15:30:19.110 回答