使用Enzyme测试React时潜入道具

时间:2016-11-18 10:42:58

标签: unit-testing reactjs mocha enzyme

是否有更好的解决方案可以深入了解酶中的props.text?

组件:

export function TitleText ({ text, info, required }) {
  return (
    <div className={style.titleText}>
      <div className={style.titleText} style={{ margin: 0 }} required={required}>{text}</div>
      {info ? <InfoIcon className={style.infoIcon} /> : ''}
    </div>
  )
}

测试:

it('renders text from its props', () => {
  const wrapper = setupTitleText('Test')
  expect(wrapper.find(`.${style.titleText}`).node.props.children[0].props.children).toEqual('Test')
})

1 个答案:

答案 0 :(得分:1)

您可以使用props()访问道具。至少应该在浅部件和安装部件上工作。

wrapper.props().text

但是,我会添加一个数据属性进行测试。 这样做会

让任何处理您代码的人都知道正在测试此元素

  • 让任何处理您的代码的人都知道正在测试此元素
  • 当您要测试特定的内容
  • 时,阻止返回多个元素
  • 如果他们决定更改课程,请阻止他人破坏您的考试。