我如何单元测试父对在子对象上调用方法的组件做出反应

Per*_*ler 7 unit-testing reactjs

在反应文档中的"提示"下,他们描述了组件之间进行通信的模式,其中父组件在子组件上调用方法(通过引用).

请参阅https://facebook.github.io/react/tips/expose-component-functions.html

我正在使用第三方反应组件,要求我使用这种方法.

我想对我的组件进行单元测试,并在适当的情况下检查它是否调用了孩子的方法(使用正确的参数),但是我无法弄清楚如何...

对于Facebook文档中的示例,我应该如何编写一个测试来检查Todos在最后一个Todo上调用动画的时间?

Jar*_*tra 1

考虑使用 Facebook 的Flux 模式。通过使用此模式,您可以将 UI 组件与状态管理分开;“商店”促进了状态管理。商店最终协调组件之间的状态。现在你们的观点不能直接交流。此外,数据仅以一种方式流动。

通量模式

请注意,您可以使用许多 Flux 实现,例如 reFlux。您可以通过搜索可用的 NPM 软件包找到其中的许多内容

...那么,如何测试呢?

一旦你确定了一种模式,你就可以在谷歌上搜索大量资源、博客和示例来进行测试。目前,单元测试主要有两种方法:Jest 和 Jasmine。 Facebook 推荐使用 Jest

为了使单元测试在应用程序的真正隔离的单元上运行,我们需要模拟除我们正在测试的模块之外的每个模块。Jest 使得对 Flux 应用程序其他部分的嘲笑变得微不足道。

...

Flux 存储通常会收到大量正式的单元测试覆盖率,因为这是应用程序状态和逻辑所在的位置。商店可以说是 Flux 应用程序中提供覆盖范围的最重要的地方