开玩笑/酶带反应 - "Target container is not a DOM element."



我试图测试某个react组件中的按钮是否会触发其父组件中的函数。当我在测试文件中导入组件时,我偶然发现了我的问题,所以测试甚至还没有运行。

我导入的组件是一个常规反应组件,并导出为:

export default connect(mapStateToProps, mapDispatchToProps)(Manager);

在我的测试文件中,我将其导入为:

import Manager from '../index.js';

当我运行测试时,我得到:

Target container is not a DOM element.

我知道这是非常少的信息可以提供,但实际上没有其他相关的,就我所见。我正在测试的组件做了很多事情,并且有一个渲染函数。在阅读了很多之后,我读到有些人也遇到了类似的问题,因为他们在执行ReactDOM.render的同一文件中导出了一些内容。不幸的是,这不适用于我的问题。

有什么想法吗?

可能在index.js文件中的某个位置有一个渲染调用。

您可以在Manager中设置一个不带connect的附加导出,然后您就可以将其导入到测试文件中并测试其行为:

export default connect(mapStateToProps, mapDispatchToProps)(Manager);
export { Manager };

然后在你的测试文件中:

import { Manager } from 'your-path'; // now a named import without Connect

相关内容

  • 没有找到相关文章

最新更新