我想用玩笑和酶测试输入字段
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。有人看到为什么测试不起作用吗?
我无法复制您的问题。就是说,我认为您可以将组件简化为数字输入,而不是文本输入。