我使用mocha / chai / enzyme / sinon来测试我的React组件。假设我正在测试以下组件,并且我需要mount
来测试生命周期方法。
<Container>
<div />
<NestedContainer />
<div />
</Container>
进一步假设我不希望在任何情况下都安装组件NestedContainer
。相反,我想做的是,在挂载NestedContainer
之前使用普通的div
模拟/存根Container
。
我已经在网上寻找解决方案,而且我发现的唯一相关资源是:https://medium.com/@AndreCalvo/react-component-testing-mocking-method-calls-components-and-time-d780d45e4cd5。引入一个大型库来模拟这些组件似乎有点沉重。
有没有人知道其他任何方法吗?感谢。
答案 0 :(得分:0)
您无需安装以测试生命周期方法。
您可以使用instance()
。
const wrapper = shallow(<MyComponent {...props} />);
wrapper.instance().componentDidMount();
这将触发指定的生命周期方法。
这非常适合测试redux动作(可以被模拟)等等。