我正在尝试运行React组件的测试。我需要检查渲染后的外观。试图使用ReactDOMServer.renderToString()
但它失败。下面是代码:如何在Jest单元测试中查看呈现的React组件的外观?
import { NewRec } from '../src/components/edit';
import { shallow } from 'enzyme';
import React from 'react/lib/ReactWithAddons';
import ReactDOMServer from 'react-dom/server';
jest.mock('react-dom');
jest.mock('react/lib/ReactDefaultInjection');
describe('NewRec component',() => {
const component = shallow(<NewRec />);
it('returns true if blah blah',()=>{
var htmlstring = ReactDOMServer.renderToString(<component />);
});
});
,我发现了以下错误:
Invariant Violation: There is no registered component for the tag component
我试图把它想:var htmlstring = ReactDOMServer.renderToString(component);
然后我得到这个错误:
Invariant Violation: renderToString(): You must pass a valid ReactElement.
有谁知道问题在哪里?
感谢@AndreasKöberle – Birish