酶,如何通过属性找到包装器的孩子?

Cod*_*rer 3 mocha.js cheerio reactjs redux enzyme

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

<Modal>
<Modal.Header closeButton onClick={props.onHide}>
    <Modal.Title>A Sample Modal</Modal.Title>
</Modal.Header>
<Modal.Body>
</Modal.Body>
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Wai*_*ski 6

仅仅给一个组件一个没有价值的 prop 就等价于prop={true}. 因此,您应该能够使用Enzyme 对象属性选择器来查找元素,如下所示:

const closeButton = wrapper.find({ closeButton: true });
Run Code Online (Sandbox Code Playgroud)