这是我要测试的代码的一部分:
<div>
<Typography className={classes.instructions}>
All steps completed - you're finished
</Typography>
<Button onClick={handleNext} className={classes.button}>
Next
</Button>
</div>
在这一部分中,我要测试按钮的点击情况
到目前为止,这是我所做的:
let wrapper;
const handleNext = jest.fn();
beforeEach(() => {
wrapper = mount(<ModelStepper handleNext={handleNext}/>)
})
it("handleNext increment", () => {
const btn = wrapper.find(Button).at(1)
expect(handleNext).toBeCalledTimes(0);
btn.simulate("click");
expect(handleNext).toBeCalledTimes(1);
})
由于某种原因,我无法单击它,我已经在控制台上记录了该按钮的文本,并且它是我想要单击的正确按钮。
谢谢!
答案 0 :(得分:0)
只需将以下行:const btn = wrapper.find(Button).at(1)
更改为const btn = wrapper.find(Button).at(0)
。
索引总是从0开始。
答案 1 :(得分:0)
我处于类似的情况,但是我的按钮在表格内。 对于这种情况,有效的方法是:
wrapper.find('button').simulate('submit');
它将触发事件并评估更改。