我使用的是酶3.9.0。
我刚刚将一个类组件重构为一个使用useState
钩子的组件。
我之前通过如下方式提取组件来测试组件的内部状态:
const shortcutActions = wrapper.state().shortcuts;
expect(shortcutActions).toHaveLength(1);
是否可以在使用useState
时查询内部状态?
发布于 2019-03-25 02:41:25
钩子是全新的,酶正在更新以支持它们。
你可以在这里跟随一般的进度:Issue #2011。
在这里可以追踪到对useState
的特别支持:Issue #2008。
因此,目前对useState
的支持级别是:
mount
支持使用set
shallow
更新get
和呈现元素,但还不支持使用set
更新呈现元素,支持get
至于直接查询内部状态,我不确定有没有必要。
不能在类内部工作。但是您可以使用它们而不是编写类。
...so钩子只能在React
现在喜欢称为"function components"
的地方工作。
使用useState
定义的任何状态都将只存在于函数体中,并且不能由函数外部的任何内容访问。
修改该状态的唯一方法是通过与函数返回的呈现输出进行交互,因此测试函数组件应该只涉及与呈现组件进行交互,并验证它是否按预期重新呈现。
https://stackoverflow.com/questions/55325024
复制相似问题