我曾经嘲笑和测试一个函数,该函数作为具有 simulate() 酶的道具传递给Child组件 .

当我用 Spy 测试Component中的方法(不是从父级派生)时,发生了一件有趣的事情 . 我使用 jest.spyOn 与酶的实例来测试Component类方法 . 有点喜欢这个:

jest.spyOn(instance, 'Clicker')

然后我尝试在元素上模拟事件来调用方法 .

下面的案例1失败:

<button
      onClick={this.Clicker}
    >Click
 </button>

带箭头功能的Case2成功:

<button
onClick={() => this.Clicker()}
>Click</button>

带有箭头功能的Component方法和带有 .bind(this) 构造函数的函数具有相同的结果 .