React Highcharts Jest 測試錯誤:「InvalidCharacterError'



我在尝试对使用 react-highcharts 的 React 组件进行一些基本的冒烟测试时遇到了一个问题。我使用基本 Jest 的典型方法会产生一个错误:

it('renders without crashing', () => {
  const div = document.createElement('div');
  render(<MyComponent {...props} />, div);
});
 —>
InvalidCharacterError
  at exports.name (node_modules/jest-environmentjsdom/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js:10:11)
  at a.createElement (node_modules/highcharts/highcharts.js:17:221)
  at Object.a.svg.z.init (node_modules/highcharts/highcharts.js:92:155)
  at Object.z.createElement (node_modules/highcharts/highcharts.js:63:3)
  at Object.a.svg.z.createElement (node_modules/highcharts/highcharts.js:107:525)
  at Object.a.svg.z.init (node_modules/highcharts/highcharts.js:101:44)
  at Object.a.svg.a.VMLRenderer.B (node_modules/highcharts/highcharts.js:109:320)
  at Object.N.getContainer (node_modules/highcharts/highcharts.js:252:329)

从一些互联网侦查来看,这似乎是将<ReactHighcharts />渲染为子组件的固有问题。如何在不重组组件或使测试复杂化的情况下解决此问题?

由于问题是将<ReactHighcharts />渲染为子组件,而我们只是想确保父组件不会爆炸,因此我们可以使用 Enzyme 的 shallow 方法仅渲染该父组件而不呈现子组件:

it('renders without crashing', () => {
  expect(shallow(<MyComponent {...props} />).exists()).toBeTruthy();
});

相关内容

  • 没有找到相关文章

最新更新