【问题标题】:Enzyme, how to find a child of wrapper by attribute?酶,如何通过属性找到包装器的孩子?
【发布时间】:2016-09-14 13:54:00
【问题描述】:

我在 Redux 应用程序中有以下 React 组件。

<Modal>
<Modal.Header closeButton onClick={props.onHide}>
    <Modal.Title>A Sample Modal</Modal.Title>
</Modal.Header>
<Modal.Body>
</Modal.Body>

现在,在我的测试代码中,我有以下内容

const wrapper = mount(<modal/>);
const closeButton = wrapper.find("['closeButton']");
expect(closeButton.length).to.equal(1); // error - expected 0 to be 1

但是选择器没有找到关闭按钮。帮忙?

更新:我正在使用 React Modal 库,HTML 的内容似乎发生了变化。

【问题讨论】:

    标签: reactjs mocha.js redux cheerio enzyme


    【解决方案1】:

    只给组件一个没有价值的道具就相当于prop={true}。因此,您应该能够使用Enzyme object property selector 来查找这样的元素:

    const closeButton = wrapper.find({ closeButton: true });
    

    【讨论】:

      【解决方案2】:

      我认为['closeButton'] 不是一个有效的选择器。应该是[closeButton] 没有'

      例如如果你尝试document.querySelector("['closeButton']"),浏览器会抱怨。而document.querySelector("[closeButton]") 被正确执行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-05
        • 1970-01-01
        • 2018-01-02
        • 2012-02-16
        • 1970-01-01
        • 2023-02-18
        • 1970-01-01
        • 2017-03-14
        相关资源
        最近更新 更多