我正面临enzyme-adapter-react-15.4
的同伴依赖问题。我使用JEST和ENZYME对我的React应用程序进行单元测试。我使用下面的配置:
"react": "^15.1.0",
"enzyme": "^3.2.0",
"react-addons-test-utils": "^15.3.1",
"enzyme-adapter-react-15.4": "^1.0.5",
"react-dom": "^15.1.0",
即使我有所有模块,我也会遇到错误:
! peer dep missing: react@15.0.0-0 - 15.4.x, required by enzyme-adapter-react-15.4@1.0.5
npm ERR! peer dep missing: react-addons-test-utils@15.0.0-0 - 15.4.x, required by enzyme-adapter-react-15.4@1.0.5
npm ERR! peer dep missing: react-dom@15.0.0-0 - 15.4.x, required by enzyme-adapter-react-15.4@1.0.5
我在node_modules / react / package.json中看到安装的版本是15.6.2而我特意安装了15.1作为prod依赖。
我的配置文件:
// enzyme-setup.js
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-15.4';
configure({ adapter: new Adapter() });
JEST:
{
"testEnvironment": "jsdom",
"setupTestFrameworkScriptFile": "./enzyme.setup.js",
"testResultsProcessor": "jest-teamcity-reporter",
"coverageReporters": [
"teamcity", "lcov"
],
"rootDir": "",
"roots": [
"__tests__/unit/"
],
"moduleNameMapper": {
"@PathToMappers(.*)$": "<rootDir>/src/data/mappers/$1",
"@PathToModels(.*)$": "<rootDir>/src/data/models/$1",
"@PathToMocks(.*)$": "<rootDir>/__tests__/mocks/data/$1",
"@PathToXHRClient(.*)$": "<rootDir>/src/service/xhr-client/$1",
"@PathToComponents(.*)$": "<rootDir>/src/component/$1"
}
}
答案 0 :(得分:0)
您需要一个酶的设置配置文件,如下所示:
//setup.js
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-15';
Enzyme.configure({ adapter: new Adapter() });
然后你需要在package.json
中的jest对象中要求这个文件 "jest": {
"setupTestFrameworkScriptFile": "<rootDir>" // path from your test folder to your setup.js file
},