如何解决如何在 Jest 测试中监视传递给 react 组件的函数?
当 jest.fn
传递给组件 props 时,我似乎无法监视它:
interface MyComponentProps {
testFunction: () => void
}
class MyComponent extends React.Component<MyComponentProps> {
constructor(props) {
super(props);
props.testFunction()
}
render() {
return <></>
}
}
测试:
import '@testing-library/jest-dom';
import { render,screen } from '@testing-library/react';
import { MyComponent } from './MyComponent'
test('Function is called by my component',() => {
const mockTestFunction = jest.fn();
render(<MyComponent
testFunction={mockTestFunction}
/>)
expect(mockTestFunction).toHaveBeenCalled();
});
测试输出:
expect(jest.fn()).toHaveBeenCalled()
Expected number of calls: >= 1
Received number of calls: 0
根据我阅读过的许多来源(例如 https://blog.sapegin.me/all/react-testing-3-jest-and-react-testing-library/),我希望这能正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。