如何在React中使用useNavigate()和Jest来测试按钮?

tpgth1q7  于 2022-12-08  发布在  Jest
关注(0)|答案(1)|浏览(230)

我在这方面遇到了一些麻烦--下面是我的代码片段:

function addProduct() {
            navigate('/adding')
     }
.
.
.
return(
        <React.Fragment>
                <button className = "button" data-testid="addnewpage" onClick={addProduct}>Add New Product</button>
                    <br></br>
                {useProducts}
        </React.Fragment>
        )

我想使用Jest测试<button className = "button" data-testid="addnewpage" onClick={addProduct}>Add New Product</button>,看看它是否导航到正确的页面。有没有办法做到这一点?

vmdwslir

vmdwslir1#

您只需要模拟useNavigate检查下面代码

const mockedUsedNavigate = jest.fn();

jest.mock('react-router-dom', () => ({
   ...jest.requireActual('react-router-dom'),
  useNavigate: () => mockedUsedNavigate,
}));

相关问题