酵素を使用して反応成分をテストしようとしています。私はモーダルをするときshowModal =真表示されていることを確認したい私のテストケースで酵素は、instance()。stateとupdate()を使用して状態を更新できません。
render() {
let modal = null;
let modalTitle = this.state.isEditing ? 'Edit Event' : 'Add Event';
if (this.state.showModal) {
modal = (<div className="event-modal">
<Modal show={this.state.showModal} onHide={this.closeModal}>
...
</Modal>
</div>);
}
return (
<div style={{height: '500px', width: '1000px'}}>
<BigCalendar
events={this.props.events}
startAccessor='startDate'
endAccessor='endDate'
onSelectSlot={this.onDayClick}
selectable={true}
onSelectEvent={this.onEventClick}
/>
{modal}
</div>
);
}
、および酵素を使用して、詳細のために正しい状態にコンポーネントを取得するには、インスタンスを()を使用をお勧めします。コンポーネントは、このrenderメソッドを持っていますテストでは、instance()を使用してからupdate()を試みましたが、動作しませんでした。私のテストケースでは、setState()を使用していました。可能であれば、酵素はこれを使用することを推奨しています。これは私のテストケースです。
setState()は動作しますが、instance()を使用してからupdate()を実行しても動作しません。 update()がコンポーネントを適切に再レンダリングしないのはなぜですか?
彼らはあなたがインスタンスを(使用をお勧めしますSETSTATEのための酵素のドキュメント()、): https://github.com/airbnb/enzyme/blob/master/docs/api/ShallowWrapper/setState.md 酵素例:http://airbnb.io/enzyme/docs/api/ShallowWrapper/instance.html –
ありがとうございます。 – prosti