酶/ Jest测试错误 - 不变违规:目标容器不是DOM元素

时间:2018-02-19 06:19:00

标签: javascript reactjs testing enzyme jest

我是新手进行单元测试而且我一直收到错误:不变违规:目标容器不是DOM元素。我认为它与我的app.js的结构方式有关,因为它不断引用这一行ReactDOM.render(,document.getElementById('app'));.以下是它的结构:

import React from 'react';
import ReactDOM from 'react-dom';
import HomePage from './HomePage';

class App extends React.Component {
  render() {
    return (

      <div>
        <HomePage />
      </div>
    )
  }
}

ReactDOM.render(<App />, document.getElementById('app'));

为了测试目的,是否需要对其进行重组?

1 个答案:

答案 0 :(得分:0)

你应该在文件的两个部分之间分开,组件声明&amp;通过ReactDom安装到Dom。

ReactDom对测试没什么好处。

从'react'导入React; 从'react-dom'导入ReactDOM; 从'./HomePage'导入主页;

// App.jsx
import React from 'react';
import HomePage from './HomePage';

export class App extends React.Component {
  render() {
    return (

      <div>
        <HomePage />
      </div>
    )
  }
}

// index.jsx
import React from 'react';
import ReactDOM from 'react-dom';
import {App} from './App';

ReactDOM.render(<App />, document.getElementById('app'));