1
テストの作成は私にとって初めてのことです。イベントを受け取る関数のテストを作成しようとしています。問題が起きた場合はonChange
コールで、chai
を使用しています。イベントを受け取る関数をテストするには?
My機能:
export function handleChange(event) {
if (isNaN(event.target.value)) {
event.preventDefault();
alert('input can only be a number');
} else if (event.target.value > 5) {
event.preventDefault();
alert('Rating can not be over 5 stars, please try again');
} else {
this.setState({starRate: event.target.value});
}
お返事ありがとうございました:) あなたはevent.preventDefault()に関して、そうは必要ありませんでした。 'event.target.value'の 'target'が失われている場合は、単に入力値からイベント値を取得しません。 私はその機能をテストし、発生時にイベントをシミュレートするのに役立つ答えを探していました。 –
実際に 'event.target.value'が必要な場合は、クリックハンドラを親に追加してから委任する必要があります。これは珍しいアプローチですが、私のコードを上記のものに置き換えることはできません。そして、あなたはその事象について何をシミュレートしようとしていますか?入力がクリックされたときにロジックをトリガーしています。フォームを提出しようとしていますか?そのために '.submit()'を使うことができます。 –
'event'オブジェクトには、委譲されたイベントハンドラを使用しているかどうかにかかわらず、' .target'プロパティがあります。 'event'オブジェクトには' .value'プロパティがありません。 – nnnnnn