我有一个按钮React组件,我想用Jest测试。
我想测试用户与组件的互动。
当用户点击Jest测试中的按钮时,如何测试按钮的操作。
我的测试看起来像这样:
describe('My button component', () => {
it('does something when it is clicked', () => {
const comp = (<MyButton onClick={onClick}></MyButton>);
// ... how can I simulate a user click and assert the change in the DOM?
});
});
function onClick() {}
答案 0 :(得分:1)
您可以使用jest.fn()
describe('My button component', () => {
it('does something when it is clicked', () => {
const mockOnClick = jest.fn()
const comp = (<MyButton onClick={mockOnClick}></MyButton>)
component.find(MyButton).simulate('click')
expect(mockOnClick.mock.calls.length).toBe(1)
})
})
您可以按照here进一步说明进行操作。