首页 > 解决方案 > 如何开玩笑地在另一个组件中找到一个组件?

问题描述

我想在 Jest 的另一个组件中找到一个组件。找到组件后,长度应该是1,但我得到了0长度。

测试用例代码如下 -

beforeEach(() => {
    wrapper = enzyme.mount(
                <Rest
                    onApplyClick={mockOnApplyClick}
                    translateFn={mockTranslateFn}
                    someData={mockSomeData}
                />
            );
});

然后我们有测试用例 -

it('Test case', () => {
        let Button= wrapper.find(Button);
        Button.simulate('click');
        expect(wrapper.find(StyledPopover).prop('open')).toBe(true);
        act(() => {
            let newWrapper = wrapper
                .find(<NewComponent {...props} myData={mockMyData[1]} />)
                expect(newWrapper.length).toBe(1);
                console.log(newWrapper.length, "newWrapper.length")
    });
});

我得到了0长度console.log(newWrapper.length)但是如果我们通过let newWrapper = wrapper.find(NewComponent)了那么我得到了长度1。那么如何解决这个问题,因为我想将道具传递给,NewComponent以便我可以在里面找到一些其他元素NewComponent

标签: reactjsjestjsenzyme

解决方案


推荐阅读