我有一个 React 组件(16.2):
import externalLibrary from 'wherever';
class MyComponent extends React.Component {
componentDidMount() {
externalLibrary.doStuff().then((data) => {
this.setState({ ...this.state,
data: data
});
});
}
render() {
return (
<div>
{this.state.data.map((d) => <SubComponent key={d.id}
data={d} />)}
</div>
);
}
}
(如果使用Enzyme,则会更改一些内容)
import { shallow } from 'enzyme';
import MyComponent from './MyComponent';
import SubComponent from './SubComponent';
describe("<MyComponent />", () => {
it("Renders the correct number of SubComponents", done => {
wrapper = shallow(<MyComponent />);
// This fails because it runs before the subcomponents are rendered
expect(wrapper.find(SubComponent)).toHaveLength(3);
});
});
wrapper = await shallow(<MyComponent />);
- anoop