Javascript Jest和模拟输入字段的酶';s onClick法

Javascript Jest和模拟输入字段的酶';s onClick法,javascript,unit-testing,jestjs,enzyme,Javascript,Unit Testing,Jestjs,Enzyme,我正在为一个简单的密码更新组件编写测试。我的组件有一个带有type=“checkbox”和onClick功能的输入字段。单击输入复选框时,我希望我的togglePassword功能运行。实际函数工作正常,但是在我的测试中,我无法模拟onClick事件 我的输入字段如下所示: <input id="toggle-password" type="checkbox" onClick={() => togglePassword()} /> 更新的钩子: const [pa

我正在为一个简单的密码更新组件编写测试。我的组件有一个带有
type=“checkbox”
onClick
功能的输入字段。单击输入复选框时,我希望我的
togglePassword
功能运行。实际函数工作正常,但是在我的测试中,我无法模拟onClick事件

我的输入字段如下所示:

<input
  id="toggle-password"
  type="checkbox"
  onClick={() => togglePassword()}
/>
更新的钩子:

const [passType, setPassType] = useState("password");
最后是使用
密码类型的输入字段:

<input id="create-password" type={passType} required />
我做了一个测试,看看是否调用了
togglePassword
函数,而不是。我已经研究了一段时间了,我真的不知道如何在这里调用
onClick
方法

<input id="create-password" type={passType} required />
it("toggles passwords", () => {
  const onMock = jest.fn();
  const wrapper = mount(
    <NoAuthPasswordChange handleSubmit={onMock}  />
  );
  const form = wrapper.find("#no-auth-password-change-form");
  const createPass = form.find("#create-password");
  const togglePass = form.find("#toggle-password");
  createPass.simulate("change", { target: { value: "12345" } });
  expect(createPass.props().type).toEqual("password");
  togglePass.simulate("click");
  wrapper.update();
  expect(createPass.props().type).toEqual("text");
});