reactjs - 用道具反应测试浅快照问题
问题描述
我在测试周围有一些 HOC 的反应组件时遇到问题。这是这个组件的结尾:
export default withSocket(withServerConfiguration(Component));
我想首先创建它的快照来测试它,所以我这样做了:
const wrapper = (props) =>
shallow(
<Provider store={store}>
<Component{...props} />
</Provider>
)
.dive()
.dive()
.dive()
.dive();
我不得不这样做dive()
很多次,因为我必须遍历它周围的所有 HOC 组件才能获得所有 DOM 元素的正确快照。
我是这样做的:
it("renders correctly without error", () => {
expect(toJson(wrapper())).toMatchSnapshot();
});
它工作正常。问题是当我想将道具传递给该组件时。它看起来在某种程度上被 HOC 组件之一覆盖。我正在传递这样的道具:
const wrapper = shallow(
<Provider store={store}>
<Component propName={{ type: 1000 }} />
</Provider>
)
.dive()
.dive()
.dive()
.dive();
但最后我从一个propName
值为空的 HOC 组件中得到错误。这里有什么问题?我怎样才能测试这样的组件?也许我应该使用renderer
方法或mount
?
解决方案
推荐阅读
- php - 子类别和帖子的相同 url 路径
- azure-sql-database - Azure 流分析查询将单个数据行输入到 Azure SQL
- flutter - FittedBox 的性能影响?
- python - SPSS Python案例字符串
- python - 使用 Django ListView 创建导航树
- ios - Xcode 9.3.1 没有这样的模块“AWS ...”
- android - 用android创建一个弹跳球不起作用
- pycharm - pycharm上的LDTP配置(Linux桌面测试项目)配置
- html - 为什么我的 60px有一个 7.5px 的下边距,而我从未设置它并且在“元素”控制台中没有任何注册?
- batch-file - Jenkins 批处理文件 ERRORLEVEL 不变