嗨,我试着用酶测试这个反应应用程序,但是它引发了一个错误TypeError:适配器不是构造函数,任何想法都可以。
这是我的测试文件
从‘./ ProductRow _row’导入反应;从‘React’导入反应;//从‘酶’导入{react};从‘酶’导入*作为酶;从‘酶适配器-react 16’导入*作为适配器;从‘enzyme.configure({适配器:新适配器() });测试(‘TodoComponent呈现其内的文本’,() => { const包装= enzyme.mount( );}; TypeError:适配器不是构造函数
发布于 2018-04-13 20:33:41
我认为在导入具有默认导出的模块时,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'],发布于 2018-09-30 23:05:13
对于TypeScript:
import { configure } from 'enzyme';
import * as ReactSixteenAdapter from 'enzyme-adapter-react-16';
const adapter = ReactSixteenAdapter as any;
configure({ adapter: new adapter.default() });发布于 2018-10-07 20:27:33
您需要像这样使用导入:
import Adapter from 'enzyme-adapter-react-16';这样:(导入*作为适配器从.)返回消息"TypeError:适配器不是构造函数“。
https://stackoverflow.com/questions/49824423
复制相似问题