小编pru*_*hvi的帖子

我如何测试材料用户界面的 useAutocomplete 挂钩 onChange 事件

这是我获取 useAutocomplete 钩子用法的代码。我想测试 onChange 的代码覆盖率。有没有办法通过使用反应测试库来做到这一点。

 const {
    getRootProps,
    getInputProps,
    getListboxProps,
    getOptionProps,
    groupedOptions,
    getClearProps
} = useAutocomplete({
    id: 'use-autocomplete-demo',
    options: routeInformation ? routeInformation : [],
    getOptionLabel: (option) => option.routeName,
    clearOnEscape: true,
    disableClearable: false,
    onChange: (event: React.ChangeEvent<{}>, value: any) => {
        if (setPreviousRoute && setSelectedRoute) {
            setPreviousRoute({...selectedRoute} as RouteInformation);
            if ( value ) {
                setSelectedRoute({...value} as RouteInformation);
            } else {
                setSelectedRoute(undefined);
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我的渲染元素看起来像这样,当我从 react-testing-library 进行测试时,groupedOptions 没有任何数据。

<div>
                        <div {...getRootProps()} >
                            <InputBase
                                data-testid="SearchInput"
                                {...getInputProps()}
                                placeholder="Search Route Name"
                                classes={{
                                    root: classes.inputRoot, …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui react-testing-library

5
推荐指数
0
解决办法
558
查看次数