首页 > 解决方案 > 如何检索组件的道具以在 Jest/Enzyme 中进行测试?

问题描述

我是 React、Enzyme 和 Jest 的新手,而且我对测试组件一无所知。

我需要编写一个测试来检查道具是否正确默认:

const columns = cols ? 12 / cols : 4

我想创建一个执行以下操作的测试:

expect(wrapper.find(MyComponent).props.columns).toBe(4)

但每次失败时 - 我无法获得wrapper.find(MyComponent).props.columns. 控制台日志返回空。

我可以控制台记录组件,例如:

console.log(toJSON(wrapper.find(RevealMoreExperiment)))

这让我可以看到我需要的值,例如:

props: { options: {}, columns: 4, limit: 4, children: [Array] },

但我不确定如何实际检索它们以在我的 .spec.js 测试文件中使用。

有人知道这是怎么做到的吗?

标签: reactjsjestjsenzyme

解决方案


你需要告诉笑话你到底想要什么道具

expect(wrapper.find(MyComponent).prop('name of prop')).toBe(4);

试试这个


推荐阅读