在Jest测试中模拟用户与React组件的交互

时间:2017-09-15 09:44:28

标签: reactjs jest

我有一个按钮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() {}

1 个答案:

答案 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进一步说明进行操作。