Reactjs 反应测试库,检查是否调用了组件方法
使用Reactjs 反应测试库,检查是否调用了组件方法,reactjs,react-testing-library,Reactjs,React Testing Library,使用“@测试库/react” 鉴于以下组成部分: const Home = () => { const submit = () => console.log('submit clicked'); return ( <div> Home <Button onClick={submit} > Submit </Button> </d
“@测试库/react”
鉴于以下组成部分:
const Home = () => {
const submit = () => console.log('submit clicked');
return (
<div>
Home
<Button
onClick={submit}
>
Submit
</Button>
</div>
)
}
const Home=()=>{
constsubmit=()=>console.log('submitclicked');
返回(
家
提交
)
}
为了完成下面的测试,需要添加什么断言
it('reacts to a submit event', async () => {
const { getByText } = render(<Home />);
fireEvent.click(getByText(/submit/i));
})
it('response to a submit event',async()=>{
const{getByText}=render();
firevent.click(getByText(/submit/i));
})
Yourconstsubmit=()=>console.log('submitclicked')
位于Home
函数中,这使它成为一个封闭范围的不可访问函数。首先,您应该尝试将其从外部删除,然后您可以导出该函数,然后在测试中导入该函数,在该函数上附加一个间谍,然后查看是否调用了该函数。或者,您可以检查一些DOM文本更改,以查看单击是否成功。我同意@Rikin的观点,不要检查该方法是否已被调用。当它被调用时,会发生一些事情,页面也会改变。检查是否发生了更改