我有点击功能
private onClick(e: React.MouseEvent<HTMLButtonElement>) {
if (e) {
this.props.log();
}
}
如果 onClick 有事件,我如何使用 jest 和 enzyme 进行测试
it("should not log if has mouse event", () => {
const onClickSpy = jest.fn();
const logSpy = jest.fn();
const props = {
onClick: onClickSpy,
log: logSpy,
};
const subject = mountProvider(ButtonWithLog, props);
subject.find(ButtonWithLog).simulate("click"); // I needed without mouse event
expect(logSpy).not.toHaveBeenCalled();
});
最佳答案
it("should not log if has mouse event", () => {
const props = {
onClick: onClickSpy,
log: logSpy,
};
const subject = mountProvider(ButtonWithLog, props);
const onClickSpy = jest.spyOn(subject.instance(), "onClick");
const event = { target: {} };
subject.find(ButtonWithLog).simulate("click", event);
expect(onClickSpy.mock.calls).to.have.length(1);
});
关于javascript - 如果没有鼠标点击事件,我如何对 onClick 进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50924335/