嗨,我试图用 enzyme 测试 react 应用程序,但它抛出一个错误TypeError:适配器不是构造函数,任何想法
这是我的测试文件
import ProductRow from '../product_row'; import React from 'react'; // import { mount } from 'enzyme'; import * as enzyme from 'enzyme'; import * as Adapter from 'enzyme-adapter-react-16'; enzyme.configure({ adapter: new Adapter() }); test('TodoComponent renders the text inside it', () => { const wrapper = enzyme.mount( <ProductRow item={{}} quickView={[]} productPage={''} count={0} numberOfColumns={0} title={'title'} taxonomies={{}} excerpt={'excerpt'} /> ); });
TypeError: Adapter is not a constructor
最佳答案
我认为在导入具有默认导出的模块时 import *
无法按预期工作,这应该可以工作:
import Enzyme from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
Enzyme.configure({ adapter: new Adapter() })
顺便说一句。您可以将上述内容放入一个文件中,并在 Jest 设置中引用它,这样您就不必将其添加到每个测试中:
setupFiles: ['<rootDir>/tools/jest/setup-react-adapter.js'],
关于reactjs - enzyme :类型错误:适配器不是构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49824423/