【发布时间】:2021-09-15 14:51:50
【问题描述】:
我在 Jest 测试用例中遇到错误,显示为 assignedElements is not a function。
在代码中,我尝试查询插槽,然后获取如下所述的值:
let slot = this.element.shadowRoot?.querySelector('slot');
const testItems = slot.assignedElements({flatten:true});
这段代码在大多数浏览器上运行良好,但在 Jest 测试用例中却失败了。我想过嘲笑和监视这个 API,但也没有运气。
【问题讨论】:
-
这是在规范还是 e2e 测试中?
-
这是在规范测试中
-
好的,我会在 Stencil Github 存储库中提出错误报告。请注意,在运行规范测试时,没有浏览器上下文。相反,DOM 是在 Node.js 上下文中模拟的(我认为使用 jsdom 包),因此它的行为可能与浏览器不完全相同。与此同时,您可能会切换到 e2e 测试。
-
我在单元(规范)测试中遇到了同样的问题。我还没有尝试过 e2e 测试。有人建议使用 e2e 测试这样的组件,但我正在阅读 Stencil 的问题,即人们在 e2e 测试中遇到相同/类似的问题。