/ / Отримання виклику `render` для повернення нуля при використанні Enzyme.mount - javascript, reactjs, jestjs, фермент

Отримання виклику `render` для повернення null при використанні Enzyme.mount - javascript, reakjs, jestjs, фермент

Питання

Хтось знає про прийнятний спосіб отримати змонтований компонент для повернення 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 якщо ви хочете дрібну візуалізацію за допомогою всіх методів життєвого циклу.