テスト起動イベントで使用するために、react select コンポーネントをモックしようとしています。以下は、jest を使用して作成した反応選択です。
jest.mock("react-select", () => ({ options, onChange }) => {
function handleChange(event) {
const option = [];
option.push(options.find(option => option === event.currentTarget.value));
onChange(option);
console.log(option);............................................................//line 1
}
return (
<select
data-testid="test-select"
name="users"
label="users"
options={[
"a",
"b",
"c",
"d",
"e"
]}
onChange={handleChange}
>
{options.map(value => (
<option key={value} value={value}>
{value}
</option>
))}
</select>
);
});
問題は、コンソールにundefinedline 1
が出力されることです。以下は、私のテスト用の火災イベントのモックアップです。
const chooseInput = getByTestId("test-select");
fireEvent.change(chooseInput, {
target: {
value: "b"
}
});
テストは次のように失敗します。
expect(received).toBeInTheDocument()
received value must be an HTMLElement or an SVGElement.
Received has value: null
火災イベントの開始時にオプションが更新されないのはなぜですか?