我正在使用 Enzyme 测试反应组件,但出现以下错误:
不变违规:dangerouslyRenderMarkup(...):无法在工作线程中呈现标记。在单元测试时需要 React 或使用 ReactDOMServer.renderToString 进行服务器渲染之前,请确保
window
并在全局范围内可用document
在需要“酶”之前,我为 jsdom 添加了以下设置(正如我在几个地方读到的):
const baseMarkup = '<!DOCTYPE html><html><head><title></title></head><body></body></html>';
const window = require('jsdom').jsdom(baseMarkup).defaultView;
global.window = window;
global.document = window.document;
global.navigator = window.navigator;
const React = require('react');
const {mount} = require('enzyme');
const sinon = require('sinon');
const SortableInput = require('../../../src/components/sortableInput/sortableInput').default;
我在这里做错了什么?
编辑
我认为这与服务器端渲染无关。该消息是关于单元测试和服务器端渲染的一般信息。