【发布时间】:2021-10-01 16:53:21
【问题描述】:
假设我有一个简单的 React 功能组件,它主要只是观察上下文的变化并从上下文中呈现一些状态视图。
export default function Observer(props) {
// I have a separate dispatch context for performance. This component doesn't dispatch
const state = useContext(SomeContext);
return (
<div>Foo is now {state.foo}</div>
)
}
为了在 jest/react 测试库下进行测试,我设想了几种可能性:
- 为上下文连接一个包装器,它只是实例化不同的 每个测试的状态。这似乎很容易和直接。这是 典型的模式?
- 用真实的初始状态实例化每个测试。 然后以某种方式改变状态并期望组件更新。 也许以某种方式使用来自测试代码的调度。我看到的大多数例子都是火灾事件,但是这个 组件不调度任何东西,它只是观察。
- 渲染应用程序的较大部分,以及更新状态的其他组件。 对于小型、简单的单元测试来说,这似乎是一个糟糕的选择 组件。
【问题讨论】:
标签: reactjs jestjs react-testing-library