用笑话和酶测试反应成分方法

时间:2018-07-13 04:12:35

标签: reactjs testing

在用笑话和酶测试React组件时遇到了一个问题。我习惯于模拟和测试一个函数,该函数通过酶simulate()作为道具传递给Child组件。

当我用间谍测试组件(不是从父对象派生的)中的方法时,发生了一件有趣的事情。我将jest.spyOn与酶的实例一起使用来测试Component类方法。像这样的东西:

jest.spyOn(instance, 'Clicker')

,然后我尝试在元素上模拟事件以调用该方法。

下面的案例1失败:

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

带有箭头功能的案例2成功:

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

两个带有Arrow函数的组件方法和一个在构造函数上带有.bind(this)的函数都具有相同的结果。

0 个答案:

没有答案