您需要按照什么顺序使用Web组件测试仪调用存根、替换和fixture



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

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

我已经完全阅读了聚合物网站上的文档,但我无法确定您是否必须在呼叫fixture之前或之后使用replacestub

有人能建议吗

我最终找到了答案

在实例化fixture之前,必须调用两者。原因是stub更改了原型元素(即在创建原型元素之后,但在将其压印到dom中之前,因此它需要在fixture之前进行更改)。

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

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

我认为在一些非常复杂的布局中仍然存在一个错误。我在纸上烤了一个面包,里面有一个dom if模板,我试图用一个测试版本来代替它,作为一个mock,它的模板中也有标签。这不起作用

最新更新