小编Oli*_*ver的帖子

如何使用 JSDom 对 Jest 中的自定义元素执行单元测试

我意识到这个问题已经被问过很多次了,尽管自从提出这些问题以来环境已经发生了变化:值得注意的是,JSDom 现在支持自定义元素

这些其他问题都围绕着寻找替代方案(例如使用Happy Dom),因为当时 JSDom 不支持自定义元素。但是,既然JSDom确实支持自定义元素,那么有没有人有任何信息可以解决以下错误?

TypeError: Class constructor HTMLElement cannot be invoked without 'new'

  1 | export default class Foo extends HTMLElement {
  2 |   constructor() {
> 3 |     super();
    |     ^
  4 | 
  5 |     this._clicker = 2;
  6 |   }

at new Foo (__tests__/fooclass.js:3:5)     
at Object.<anonymous> (__tests__/fooclass.test.js:7:13)
Run Code Online (Sandbox Code Playgroud)

当前设置:

此处提供参考仓库(现已修复):

自定义元素示例

class Foo extends HTMLElement {
  constructor() {
    super();

    this._clicker = 2;
  }

  connectedCallback() {
    this.textContent = 'My …
Run Code Online (Sandbox Code Playgroud)

unit-testing jsdom jestjs custom-element babeljs

6
推荐指数
1
解决办法
2231
查看次数

标签 统计

babeljs ×1

custom-element ×1

jestjs ×1

jsdom ×1

unit-testing ×1