【发布时间】:2016-11-09 10:01:15
【问题描述】:
我正在尝试对 React 组件进行测试。我需要检查渲染后的样子。尝试使用ReactDOMServer.renderToString(),但失败了。代码如下:
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.
有谁知道问题出在哪里?
【问题讨论】:
标签: javascript unit-testing reactjs jestjs