问题标签 [web-component-tester]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
polymer-2.x - 聚合物 2 - 槽测试
我正在运行一些测试套件,但问题是测试断言返回负面,因为我似乎无法访问插槽的拉出内容!
基本上是在寻找一些关于时隙内容的聚合物 2 测试实践的资源和指导
任何帮助表示赞赏
javascript - 将 redux-promise-middleware 与 Web 组件测试器一起使用
我有一个名为redux-scripts
我在顶部导入redux-mixin.html
在 Chrome 和 firefox 中运行起来就像一个魅力,但是当涉及到 web 组件测试器时:
这是指
我通过将其添加到 redux-store.js 的顶部实现了部分解决方法
但这并不是特别令人满意,因为它在运行测试时会导致很多错误,而且并不是所有的测试套件都能运行。
mocha.js - 为开发或演示重用 Mocha 单元测试代码
我正在使用 Polymer v2 开发web 组件,并使用使用 Mocha的 web-component-tester进行单元测试。
开发的组件是图表/图形,需要显示一些配置(尤其是数据),因此suiteSetup
添加样板以正确显示图表。
除了单元测试之外,我如何将这个样板重用于其他用途?有什么标准方法吗?
例如,我想将此代码库用作工作台来处理图表,而无需将其集成到实际应用程序中。我遇到的主要问题是,一旦测试完成,Mocha 就会关闭包含组件的 iFrame。所以我什至看不到它的样子,也无法与之互动。
这个代码库也可以在现有图表的演示库中重用
提前致谢
polymer - 不能存根 WCT 中的私有元素
使用 Polymer 1 和 Web 组件测试器...在 chrome 上的 shady dom 中进行测试。
在 WCT 中,尝试使用 spToast.display() 存根,stub('sp-toast', { display: ()=> {} });
但出现错误Attempted to wrap undefined property display as function
.... 我做错了什么?
我试图存根它的原因是因为我spToast.display is not a function
在测试运行代码库时得到了。
原始代码:
测试代码:
polymer - Webcomponent Tester - 如何断言一个不被调用的函数?
使用 Polymer 1.* 和 webcomponent 测试器...
我有spy(alert, 'open')
和expect(alert.open).to.have.not.been.called;
。如何断言未调用函数?现在这个。如果我用 反转它 expect(alert.open).to.have.been.called;
,它也会失败。
我试过.calledCount(0)
了,默认has not been called
哪个失败。
间谍很好,它只是抱怨没有断言并且测试失败的以太方式。
polymer - Stub 元素在 Ready 函数中无效
使用 Polymer 1.* 和 WCT,在测试我的元素时,<sp-veteran></sp-veteran>
我无法删除方法._getSpComboBox()
和函数。我明白了。._getItems()
ready
Error thrown outside of test function: this._getSpComboBox(...)._getItems is not a function
由于它在就绪函数中,我需要使用 WCT apistub
而不是sinon.stub
因为后者需要我抓取我以前无法做到的元素fixture()
。
有什么建议么?
原始代码:
测试:
npm - 找不到错误 404:@types/escodegen@^0.0.2 在尝试安装 web-component-tester 时
在我的项目中,我们想使用 web-component-tester 测试我们的聚合物组件。
所以,我尝试运行以下命令:
每次,我都会收到以下响应: 404 Not Found: @types/escodegen@^0.0.2
我在互联网上没有找到这个版本的 escodegen,你知道是否存在安装 web-component-tester 的解决方法吗?
谢谢您的帮助。
此致。
javascript - Web 组件:访问自定义组件类中的影子 DOM
在这个项目中,我正在尝试创建一个自定义组件,该组件将充当地图。我仍在通过 W3C 文档和几个 Youtube 视频学习 Web 组件的基础知识。
主要问题是,在组件类中有一个调用的函数attributeChangedCallback()
,每当其中一个属性更改时都会触发,这些属性包含在observedAttributes()
函数中,并且在设置它们之后(前面提到的函数)我尝试访问shadow DOM(即声明connectedCallback()
将在组件加载到 HTML body 元素中后触发)通过选择器。但是,如果我这样做,变量内容为空。
attributeChangedCallback()
应该在加载内容之后加载,所以我不明白为什么会发生这种情况,每次属性更改时我都需要访问这个元素,以便我可以更新它的内容。奇怪的事实:如果我每次attributeChangedCallback()
执行它都会记录两次(因为我有两个属性被监视)。
这是片段:
更新
就像@acdcjunior 在更改this.createShadowRoot();
为this.shadow = this.attachShadow({mode: 'open'});
(从ShadowDOM v0 到v1)之后提到的那样解决了我的问题,因为该connectedCallback()
函数在幕后执行并且只执行一次。
polymer - 在 WCT 测试中禁用就绪事件或 dom 更改事件?
在聚合物 1.* 中,我正在编写一个测试。我的原始元素有一个现成的处理程序,它作用于 dom-change。
WCT 不提供在就绪处理程序中存根任何内容的方法。它也不允许我在元素被标记的确切时间存根主机属性上的数据,准备好的处理程序立即使用。
一旦元素在测试中被标记,就绪处理程序中的任何内容都会调用。
为了解决这个问题,我正在尝试抑制 dom 更改事件,但它无效。
有什么想法可以阻止准备好的处理程序在测试中调用吗?
原始代码:
原始测试:
测试 dom 更改的位置被禁用
javascript - 处理创建时触发的元素对象
所以我有一个夹具:
我设置了用于测试的夹具:
夹具的元素中有一个ready()
功能:
这个ready()
函数有一个对象调用它的元素:
该对象在此夹具的父级中定义:
在那里创建为:
并从其文件中调用:
我想做的就是不打扰测试otherElement
。
过去,当我在夹具中从另一个元素中获得一个元素时,我会简单地制作一个对象来代替它并使用假对象并制作假函数:
但在过去,如您所见,该元素也在我正在测试的夹具元素中,因此page.$.anotherElement
. 不确定这真的很重要。
现在的问题是我不知道我需要做什么来覆盖otherElement
对象,以便它不会在ready()
函数中被调用。
我试过在设置中做我上面做的事情。
我已经尝试将元素包含到实际的测试文件中。
我试过让夹具中的元素调用本身,一个假元素,实际元素。
几乎所有我能想到的。
每次对象未定义时,我都会收到“this.otherElement is undefined”或“Cannot read property of .functionname of undefined”之类的错误。
有任何想法吗?