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));
})

Your
constsubmit=()=>console.log('submitclicked')
位于
Home
函数中,这使它成为一个封闭范围的不可访问函数。首先,您应该尝试将其从外部删除,然后您可以导出该函数,然后在测试中导入该函数,在该函数上附加一个间谍,然后查看是否调用了该函数。或者,您可以检查一些DOM文本更改,以查看单击是否成功。我同意@Rikin的观点,不要检查该方法是否已被调用。当它被调用时,会发生一些事情,页面也会改变。检查是否发生了更改