如何测试顶级React组件管理状态?

时间:2016-05-01 18:26:01

标签: javascript reactjs

所以我对所有仅使用道具的组件进行浅层渲染测试。其中一些是无状态功能,如FB定义它们,其中一些是标准扩展组件但没有状态。

浅层对于这些组件来说非常棒。非常快,我找到了一种很好的方法来测试回调是否正确传递,而无需重新渲染。

无论如何 - 因为我必须使用相当大的父组件来控制状态并为子(测试)组件设置道具 - 现在我必须测试父组件。

请注意,这是旧版Rails应用程序的一部分,目前我无法使用Redux。但我正在考虑将所有父组件状态操作方法(aka addTodo)转换为将接受状态作为参数等的纯函数。

测试此“父”组件的最佳做法是什么:

  1. 再次使用浅渲染,并确保将顶级方法(也称为addTodo)正确传递给子组件。然后测试顶层方法是否返回正确的新状态 - 它们必须是纯粹的,因为在使用浅层时我似乎无法访问状态。
  2. 使用#1中的浅渲染但是测试顶级方法使用回调方法实际调用它们,然后重新渲染并测试新的“树”是否包含新的待办事项等。
  3. 返回DOM并模拟此组件。
  4. ...
  5. 感谢。

0 个答案:

没有答案