在使用Enzyme
测试容器组件时,为了能使用mount
方法递归渲染出所有DOM
,不得不使用JSDOM
在Node.js中
模拟一个类似浏览器的环境。于是有了下面代码:
import { jsdom } from 'jsdom';
global.document = jsdom('<!doctype html><html><body></body></html>');
global.window = document.defaultView;
global.navigator = global.window.navigator;
,但是,运行过程中却报错,如下:
正确代码应为:
import jsdom from 'jsdom';
const {JSDOM}=jsdom;
const {document}=(new JSDOM('')).window;
global.document = document;
global.window = document.defaultView;
global.navigator = global.window.navigator;