我的测试代码有以下代码
import React from 'react';
import renderer from 'react/lib/ReactTestRenderer';
import Accordion from '../../src/js/components/Accordion';
import AccordionPanel from '../../src/js/components/AccordionPanel';
// needed because this:
// https://github.com/facebook/jest/issues/1353
jest.mock('react-dom');
describe('Accordion', () => {
it('has correct default options', () => {
const component = renderer.create(
<Accordion>
<AccordionPanel heading="First Title">
<p>test</p>
</AccordionPanel>
</Accordion>
);
let tree = component.toJSON();
expect(tree).toMatchSnapshot();
});
});
现在我想在子项内的属性中调用onClick函数。我想知道是否有一个lib能够遍历component.toJSON()
树并找到给定查询的元素。例如:
findAllByType(tree, 'header');
此调用的返回将是树内的一组头元素。
我可以创建一个递归函数来遍历树,但我想知道是否有一个lib为我做了。我试着环顾四周,但找不到任何东西。
其他可能的实用功能是:
findFirstByType(tree, type)
findAllByClassName(tree, className)
findFirstByClassName(tree, className)
findAllBy(tree, field, value)
findFirstBy(tree, field, value)