是否可以使用Jest testEnvironmentOptions来更改初始JSDOM HTML?

时间:2018-02-19 11:27:42

标签: jestjs enzyme jsdom

在Jest中我想从

更改初始的JSDOM HTML
<head></head><body></body>

<head></head><body><div id="app"></div></body>

要将enzymes mountattachTo选项一起使用。

我了解testEnvironmentOptions可用于将选项传递给JSDOM。是否有HTML字段?

1 个答案:

答案 0 :(得分:0)

根据jest source,似乎使用testEnvironmentOptions无法做到这一点。

您可以延长JSDOMEnvironment(请参阅here)并实施自己的dom。但是,我认为你走错了方向。你不应该在使用mount和attachTo时遇到问题而不需要通过jsdom启动div。

类似的东西:

wrapper = mount(
  <App/>, {attachTo: document.createElement('div')}
);

编辑:

扩展JSDOMEnvironment应该如下所示:(你应该在你的jest配置中从testEnvironment指向这个文件)

const JSDOMEnvironment = require('jest-environment-jsdom');

module.exports = class CustomizedJSDomEnvironment extends JSDOMEnvironment {
  constructor(config) {
    super(config);
    this.global.jsdom = this.dom;// here you can try playing with JSDOM configurations
  }

  teardown() {
    this.global.jsdom = null;
    return super.teardown();
  }
};
相关问题