访问占位符文本以开玩笑地进行验证

时间:2019-03-05 18:08:39

标签: javascript reactjs unit-testing jestjs

我正在尝试访问此表单输入标签中的占位符文本,只是为了验证文本是否正确:

  <form>
    <input name="form" className="form-classname" placeholder="Text inside placeholder"/>
  </form>

我正在浅浅地渲染此组件,并且已经尝试过,但是由于这是占位符而不是文本,因此该节点将返回一个空字符串作为输入(如预期)。

expect(wrapper.find('.form-classname').at(0).text()).toEqual('Text inside placeholder')

有关下一步尝试的建议?

1 个答案:

答案 0 :(得分:1)

要访问属性placeholder,您可以改用props()。这将暴露一个对象,其中包含分配给相应元素的两个道具以及属性。

expect(wrapper.find('.form-classname').at(0).props().placeholder).toEqual('Text inside placeholder')

text()在这种情况下将无效,因为它将用于获取某种块元素内的文本。例如,如果要验证<span>foobar</span>内是否包含“ foobar”,则可以使用text()来获取<span>内的文本。

希望有帮助!