Reactjs 反应酶-测试特定属性的值
我的组成部分: 在我的测试中,我想检查我的组件是否包含具有特定url属性的组件,比如“/login” 问题是我不关心关键道具的值,它不应该是测试的一部分 如何测试这一点Reactjs 反应酶-测试特定属性的值,reactjs,enzyme,Reactjs,Enzyme,我的组成部分: 在我的测试中,我想检查我的组件是否包含具有特定url属性的组件,比如“/login” 问题是我不关心关键道具的值,它不应该是测试的一部分 如何测试这一点 提前谢谢。你可以查看你想要的道具。 你正在寻找的方法是最有可能的。 类似于下一个代码的东西应该可以做到这一点 const wrapper = shallow(<NavItems />) const nav = wrapper.shallow() expect(nav.findWhere(el => el.is
提前谢谢。你可以查看你想要的道具。 你正在寻找的方法是最有可能的。 类似于下一个代码的东西应该可以做到这一点
const wrapper = shallow(<NavItems />)
const nav = wrapper.shallow()
expect(nav.findWhere(el => el.is(NavItem) && el.prop('url') === '/login').length).toEqual(1)
所以这里的主要部分是expect,在这里您可以精确地检查您想要的内容。
不要忘记传递项目数组
有了mount,您可以避免多个shall,但不要忘记它的内存操作更繁重,并且将使用生命周期方法呈现整个react树
const wrapper = mount(<NavItems />);
expect(wrapper.find(NavItem).filterWhere((item) => {
return item.prop('url') === '/login'
}).to.have.lengthOf(1);
这也适用于shallow得到一个错误:方法“props”只能在单个节点上运行。4.取而代之。感谢您的反馈。更新。
const wrapper = mount(<NavItems />);
expect(wrapper.find(NavItem).filterWhere((item) => {
return item.prop('url') === '/login'
}).to.have.lengthOf(1);