本文介绍了模拟点击材质-UI切换组件测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我正在尝试使用JEST和酶测试基于Material-UI切换组件的一些功能。

我有一个通用的Clickit函数,可以很好地用于其他Material-UI组件,但在这个组件中,它似乎没有触发状态更改

function clickIt(wrapper, selector) {
  let elem = wrapper;

  if (selector) {
    elem = wrapper.find(selector);
  }

  const node = ReactDOM.findDOMNode(elem.node);
  TestUtils.Simulate.touchTap(node);
}

在测试中:

const toggle = wrapper.find('#subscribe-toggle');

expect(toggle.props().checked).to.be(true);

clickIt(toggle);

expect(toggle.props().checked).to.be(true); // <- fails

有什么办法解决这个问题吗?

推荐答案

通过使用:

绕过它
// clickIt(toggle);
// toggle.last().simulate('click');
toggle.props().onChange(); // None of the above work, you can thank material ui for that one

这篇关于模拟点击材质-UI切换组件测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 17:19