我想测试一些自定义 Web 组件并使用 jest.js 作为测试运行程序(由于它支持 ES6)。
Chromium 支持类似的命令
window.customElements.define('my-custom-element', MyCustomElementClass);
Run Code Online (Sandbox Code Playgroud)
注册自定义 Web 组件。
但是,window.customElements在玩笑测试的上下文中似乎并不知道。
作为一种解决方法,我尝试将jest 与 puppeteer 和 express 结合使用,以customElements在 Chromium 中运行该部分。
但是,我很难TreezElement在评估的代码中注入自定义元素类:
treezElement.js:
class TreezElement extends HTMLElement {
connectedCallback () {
this.innerHTML = 'Hello, World!';
}
}
Run Code Online (Sandbox Code Playgroud)
treezElement.test.js:
import TreezElement from '../../src/components/treezElement.js';
import puppeteer from 'puppeteer';
import express from 'express';
describe('Construction', ()=>{
let port = 3000;
let browser;
let page;
let element;
const width = 800;
const height = 800;
beforeAll(async …Run Code Online (Sandbox Code Playgroud)