记jest Enzyme自动化测试问题

在写react测试的时候使用到shallow,这个时候一般会报错,官方说明是需要安装对应版本的适配器,

import  {shallow} from 'enzyme'
const setup = () => {
    const props = {
        handleClick: jest.fn()
    }

    const wrapper = shallow(<Click {...props} />)
    return {
        props,
        wrapper
    }
}

适配器

setup.js
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({ adapter: new Adapter() });

然后NND文档里就没有说这个文档要加到了,查了半天,需要在jest配置中加载

"setupTestFrameworkScriptFile": "<rootDir>/test/setup.js"

还没完,整好这个问题好,再运行又报

TypeError: Cannot read property '_compositeType' of null

解决办法https://github.com/airbnb/enzyme/issues/1190

大概意思就是react-test-rendere新版本依赖的react16X,而项目是使用的15。。。。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注