0

我有一个简单的测试,我正在搜索“.shop”元素,返回其中两个,然后我想获取第一个元素并查看一个嵌入的元素:“.shop__title”。

见代码:

describe('Shop Page', () => {
    let wrapper

    let store = createStore(reducers, mockStoreData);

    beforeEach(() => {
        wrapper = mount(
            <Provider store={store}>
                <Dashboard />
            </Provider>,
        );
    });
    afterEach(() => {
        wrapper.unmount();
    });


    it('test ', () => {
        let elems = wrapper.find('.shop');
        expect(elems.length).toBe(2); //yes, i have two shops!

        let e = elems.get(0);
        e.find('.shop__title') //find function does not exist!!!
    })
});

我不太确定这个“e”元素是什么(我正在查看的数组中的第一个元素),但我的 IDE 向我展示了这一点:

在此处输入图像描述

这是一个什么样的物体?如何让“查找”和“模拟”功能在这个元素上工作?

4

1 回答 1

1

您需要使用at而不是get

let e = elems.at(0);
e.find('.shop__title') //find function does not exist!!!

问题是get返回你,ReactElementat返回一个ShallowWrapperfind方法的。

于 2019-02-21T17:34:36.530 回答