使用 Web Component 测试器调用存根、替换和夹具需要什么顺序
What order to you need to call stub, replace and fixture with Web Component tester
我开始为我的应用程序中的某些元素构建测试套件。在顶层,我有一个 <my-app>
元素,在其模板中,它使用 <my-session
元素来控制用户登录,并使用 <iron-media-query>
元素来定义字符串在应用程序中使用的长度 header.
为了更好地控制这两者的行为,正在构建它们的特殊测试版本并使用 replace('my-session').with('test-session')
方法来改变它们。我还将使用 stub
函数来控制与测试套件的交互。
我已经完整阅读了 polymer 网站上的文档,但我无法确定您是否必须在调用 fixture
之前或之后使用 replace
和 stub
。
有人可以指教
我终于找到了答案
两者都必须在夹具实例化之前调用。原因是存根改变了原型元素(即在它被创建之后但在它被标记到 dom 之前,所以它需要在 fixture 之前完成)。
replace 函数实际上是在映射中添加了一个条目,以便在 fixture 被实例化时使用。所以再次需要在夹具调用之前调用它。
截至今天,最新版本的 web-components-tester 不包含允许它在高度嵌套的元素上工作的修复程序(例如,我试图测试我的应用程序级元素和应用程序-当使用替换时,app-header-layout 中的工具栏没有被展开)但修复在 master 中。作为临时措施,我将 browser.js 的主版本复制到 bower_componenents/web-component-tester 目录中正在使用的副本中。
我认为在一些非常复杂的布局中仍然存在错误。我有一个 paper-toast,其内容中有一个 dom-if 模板,我试图用测试版本替换它作为模拟,它的模板中也有标签。这没有用
我开始为我的应用程序中的某些元素构建测试套件。在顶层,我有一个 <my-app>
元素,在其模板中,它使用 <my-session
元素来控制用户登录,并使用 <iron-media-query>
元素来定义字符串在应用程序中使用的长度 header.
为了更好地控制这两者的行为,正在构建它们的特殊测试版本并使用 replace('my-session').with('test-session')
方法来改变它们。我还将使用 stub
函数来控制与测试套件的交互。
我已经完整阅读了 polymer 网站上的文档,但我无法确定您是否必须在调用 fixture
之前或之后使用 replace
和 stub
。
有人可以指教
我终于找到了答案
两者都必须在夹具实例化之前调用。原因是存根改变了原型元素(即在它被创建之后但在它被标记到 dom 之前,所以它需要在 fixture 之前完成)。
replace 函数实际上是在映射中添加了一个条目,以便在 fixture 被实例化时使用。所以再次需要在夹具调用之前调用它。
截至今天,最新版本的 web-components-tester 不包含允许它在高度嵌套的元素上工作的修复程序(例如,我试图测试我的应用程序级元素和应用程序-当使用替换时,app-header-layout 中的工具栏没有被展开)但修复在 master 中。作为临时措施,我将 browser.js 的主版本复制到 bower_componenents/web-component-tester 目录中正在使用的副本中。
我认为在一些非常复杂的布局中仍然存在错误。我有一个 paper-toast,其内容中有一个 dom-if 模板,我试图用测试版本替换它作为模拟,它的模板中也有标签。这没有用