如何使用onKeyPress测试文本输入

问题描述 投票:0回答:1

我想用玩笑和酶测试输入字段

  test('Filter Test', async () => {
    const setFilter = jest.fn();

    const bar = mount(
      <TestWrapper>
        <SearchAndFilterBar textFilters={textFilters} filterButtons={filterButtons} setFilterQuery={setFilter} />
      </TestWrapper>,
    );

    bar
      .find('#minValue')
      .simulate('change', { target: { value: '23' } })
      .simulate('keypress', { key: 'Enter', code: 13 });

    expect(setFilter).toHaveBeenCalled();
  });

代码如下

<TextInput
   onKeyPress={onMinKeyPressHandler}
   id={'minValue'}
   invalid={false}
   value={minValue}
   onChange={e => !isNaN(Number(e.target.value)) && setMinValue(e.target.value)}
   placeholder={valueType}
/>

问题是测试未调用onMinKeyPressHandler。有人看到为什么测试不起作用吗?

reactjs jestjs enzyme
1个回答
0
投票

我无法复制您的问题。就是说,我认为您可以将组件简化为数字输入,而不是文本输入。

© www.soinside.com 2019 - 2024. All rights reserved.