首页 > 解决方案 > React + Enzyme - 在功能组件中找不到任何东西

问题描述

我在 React 中创建了一个非常基本的功能组件(使用 Typescript)。

{}但是,当我去测试它时 -当我要求它收集divs时,我不断收到:

所以组件看起来像:

export const TestComponent: React.FC<FakeInt> = () => {
    return (
        <div>ARE YOU WORKING
           <div>Checking here</div>
        </div>
    )
};

随着

interface FakeInt {}

和测试:

it('It does something', () => {
        let wrapper = shallow(<TestComponent />);

        expect(wrapper.find("div")).toEqual("")
});

(我只是把等于""- 因为我希望看到收到的东西/只是想确认它实际上找到了那些 div)

如果有的话,console.log(wrapper.debug());我实际上会看到包装器的内容,这很奇怪。

我使用的 Jest 版本随我的 React 应用程序一起提供。

还有一条信息。expect(wrapper).toMatchSnapshot();创建一个快照文件,其中还包含一个空对象{}

有什么想法/为什么这不起作用?

谢谢。

标签: reactjstypescriptjestjsenzyme

解决方案


请提供您正在使用的酶版本,对于反应,您应该使用酶适配器反应 16(或您使用的任何反应版本)

在测试中:

import { shallow, configure } from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
configure({ adapter: new Adapter() })

比它应该工作


推荐阅读