Питання
Хтось знає про прийнятний спосіб отримати змонтований компонент для повернення null
(або щось подібне) під час використання Enzyme.mount
?
Випадок використання
У мене є компонент, який обгорнуто н компоненти вищого порядку Я хотів би насправді mount
компонент замість shallow
тому що я хотів би це перевірити componentDidMount
називали щось, як очікувалося.
Моя функція кріплення / тестування виглядає приблизно так:
const component = <ApplicationsShowRoute />;
const { store } = mountSetup(component);
expect(store.getActions()).toEqual([ { type: "API_REQUEST" } ]);
Коли я монтую це, я вважаю за краще не турбуватися про те, що робиться (помилки в дочірніх компонентах тощо).
Код
export class ApplicationsShowRouteRaw extends Component {
componentDidMount() {
const { uuid } = this.props.match.params;
this.props.fetchShowRoute(uuid);
}
props: Props
render() {
const { application, match } = this.props;
return isEmpty(application) || application.Uuid !== match.params.uuid ? (
<FullPageLoader />
) : (
<ApplicationsShow
application={application}
/>
);
}
}
export const mapStateToProps = (state: Object) => ({
application: getShowRoute(state),
});
export const mapDispatchToProps = (dispatch: Function) => ({
fetchShowRoute: (uuid: string) => dispatch(fetchShowRoute(uuid)),
});
export default connect(
mapStateToProps,
mapDispatchToProps,
)(ApplicationsShowRouteRaw);
Відповіді:
1 для відповіді № 1Ви можете використовувати shallow
з життєвий циклЕкспериментальний опція встановлена на true
якщо ви хочете дрібну візуалізацію за допомогою всіх методів життєвого циклу.