2017-03-01 1 views
0

제목이 제가 직면 한 것을 거의 설명합니다. 일부 상태가있는 React 구성 요소를 테스트하려고하는데 필요한 항목을 얻기 위해 구성 요소에 내 저장소를 제공하려고 시도합니다. 내가 농담을 사용하여 구성 요소의 테스트를 실행할 때, 나는 다음과 같은 오류가 발생합니다 :Jest 테스트를 실행할 때`regeneratorRuntime`이 정의되어 있지 않습니다.

ReferenceError: regeneratorRuntime is not defined

좀이 babel-polyfill에 의해 발생 또는 regenerator-runtime는 농담에 제대로 적용되지 않는 것을 읽는 통해 결정했습니다. 그러나, 나는 두 패키지를 모두 설치하고 결과를 변경하지 않고 다시 실행 해 보았습니다. Jest Github 발행물 페이지 (Remove auto-inclusion of babel-polyfill #2755)를 읽은 후 babel-polyfill은 Jest에서 19 번 버전으로 자동으로 포함되지 않았다는 것을 알았습니다. 수동으로 해당 패키지를 설치하면 문제가 해결되었지만 해결되지 않았을 것입니다.

{ 
    "presets": ["es2015", "react", "stage-2"], 
    "env": { 
    "development": { 
     "plugins": [ 
     ["react-transform", { 
      "transforms": [{ 
      "transform": "react-transform-hmr", 
      "imports": ["react"], 
      "locals": ["module"] 
      }] 
     }] 
     ] 
    } 
    } 
} 

jest.config :

{ 
    "transform": { 
     "^.+\\.(js|jsx)$": "<rootDir>/node_modules/webpack-babel-jest", 
     ".*\\.(vue)$": "<rootDir>/node_modules/jest-vue-preprocessor", 
     ".*": "babel-jest" 
    }, 
    "moduleNameMapper": { 
     "\\.(jpg|jpeg|css|scss|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__tests__/__mocks__/fileMock.js", 
     ".*\\.(vue)$": "vue/dist/vue.js" 
    }, 
    "testPathIgnorePatterns": ["type_parser.spec.js", 
           "<rootDir>/__tests__/__mocks__/", 
           "__tests__/unit/core/util/type_parser.js", 
           "__tests__/GitlabLoader.test.js" 
           ] 
} 

package.json : 내가 생각

.babelrc 관련이있는 파일 중 일부 포함 시켰 내가 import "babel-polyfill"을 사용

{ 
    "name": "my_project", 
    "version": "0.2.0", 
    "description": "My Project", 
    "scripts": { 
    "clean:build": "node ./bin/clean.js createdir", 
    "build:html": "node ./bin/buildHtml.js", 
    "deployProduction": "node ./bin/deployProduction.js", 
    "start": "webpack-dev-server --config ./config/webpack.config.dev.js --hot --inline --progress", 
    "serve": "npm run deployProduction&& supervisor --watch ./production-copy src/js/server", 
    "prebuild": "npm run clean:build", 
    "postbuild": "node ./bin/postBuild.js", 
    "rebuild-win": "set BUILD_TYPE=preview& npm run prebuild & npm run build-win & npm run serve", 
    "build": "set BUILD_TYPE=final& npm run prebuild & npm run build-win", 
    "deploy": "npm run build & npm run serve", 
    "build-win": "set NODE_ENV=production & npm run element-build & npm run build-doc & npm run build:html & webpack -p --config ./config/webpack.config.prod.js --json > webpack.log.json & npm run postbuild", 
    "lint": "eslint config src/js/**/*.js", 
    "jscs": "jscs src/js/", 
    "test": "jest --no-cache --verbose --config=./__tests__/jest.config", 
    "test:watch": "npm run test -- --watch", 
    "element-init": "node node_modules/element-theme/bin/element-theme -i src/js/core/ui/element-theme.css", 
    "element-build": "node node_modules/element-theme/bin/element-theme -c src/js/core/ui/element-theme.css -o src/js/core/ui/element-theme ", 
    "build-doc": "node bin/buildDoc.js ", 
    "storybook": "start-storybook -p 9001 -c .storybook" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "my_url" 
    }, 
    "license": "MIT", 
    "bugs": { 
    "url": "my_url" 
    }, 
    "homepage": "my_homepage", 
    "dependencies": { 
    "autoprefixer": "^6.3.6", 
    "axios": "^0.11.1", 
    "babel-runtime": "^6.23.0", 
    "babel-standalone": "^6.10.3", 
    "bluebird": "^3.4.0", 
    "brace": "^0.8.0", 
    "browserify": "^13.0.1", 
    "chai": "^3.5.0", 
    "classnames": "2.2.3", 
    "cls-bluebird": "^1.0.1", 
    "codemirror": "^5.16.0", 
    "connect-history-api-fallback": "^1.3.0", 
    "continuation-local-storage": "^3.1.7", 
    "dateformat": "^1.0.12", 
    "diff": "^3.0.1", 
    "element-theme": "^0.4.0", 
    "element-ui": "^1.1.5", 
    "express-history-api-fallback": "^2.0.0", 
    "filedrop": "^2.0.0", 
    "fs-extra": "^0.30.0", 
    "history": "^2.0.2", 
    "humps": "^1.0.0", 
    "immutability-helper": "^2.1.1", 
    "isomorphic-fetch": "^2.2.1", 
    "json-loader": "^0.5.4", 
    "jszip": "^3.0.0", 
    "jszip-utils": "0.0.2", 
    "material-ui": "^0.16.7", 
    "materialize-css": "^0.97.6", 
    "mocha": "^2.5.3", 
    "moment": "^2.17.1", 
    "normalizr": "^1.0.0", 
    "raven-js": "^3.9.1", 
    "react": "^15.0.1", 
    "react-ace": "^3.5.0", 
    "react-addons-update": "^15.4.2", 
    "react-dom": "^15.0.1", 
    "react-redux": "^4.4.5", 
    "react-router": "^2.3.0", 
    "react-router-redux": "^4.0.2", 
    "redux": "^3.4.0", 
    "redux-logger": "^2.6.1", 
    "redux-saga": "^0.9.5", 
    "request": "^2.72.0", 
    "request-promise": "^3.0.0", 
    "reselect": "^2.5.4", 
    "save-as": "^0.1.7", 
    "showdown": "^1.4.2", 
    "three": "^0.79.0", 
    "url-pattern": "^1.0.3", 
    "vue": "^2.0.5", 
    "vue-easy-slider": "^1.4.0", 
    "vue-loader": "^9.8.1", 
    "vue-router": "^2.0.1", 
    "vue-slider-component": "^2.0.4", 
    "walk": "^2.3.9" 
    }, 
    "devDependencies": { 
    "@kadira/storybook": "^2.35.3", 
    "babel-core": "^6.7.6", 
    "babel-eslint": "^6.1.0", 
    "babel-jest": "^18.0.0", 
    "babel-loader": "^6.0.2", 
    "babel-plugin-react-transform": "^2.0.2", 
    "babel-polyfill": "^6.23.0", 
    "babel-preset-es2015": "^6.22.0", 
    "babel-preset-es2016": "^6.22.0", 
    "babel-preset-react": "^6.23.0", 
    "babel-preset-stage-2": "^6.5.0", 
    "babel-register": "^6.7.2", 
    "chai": "3.5.0", 
    "chai-jquery": "2.0.0", 
    "cheerio": "0.20.0", 
    "colors": "1.1.2", 
    "concurrently": "^2.0.0", 
    "copy-webpack-plugin": "2.1.1", 
    "css-loader": "0.23.1", 
    "element-theme-default": "^1.1.5", 
    "enzyme": "^2.7.1", 
    "eslint": "^2.13.1", 
    "eslint-config-airbnb": "^9.0.1", 
    "eslint-plugin-import": "^2.2.0", 
    "eslint-plugin-jsx-a11y": "^4.0.0", 
    "eslint-plugin-react": "^5.2.2", 
    "express": "^4.13.4", 
    "extract-text-webpack-plugin": "1.0.1", 
    "file-loader": "0.8.5", 
    "identity-obj-proxy": "^3.0.0", 
    "jest": "^19.0.2", 
    "jest-cli": "^18.1.0", 
    "jest-css-modules": "^1.1.0", 
    "jest-enzyme": "^2.1.2", 
    "jest-vue-preprocessor": "^0.1.2", 
    "jquery": "2.2.3", 
    "jscs": "3.0.3", 
    "jsdoc-to-markdown": "^2.0.0", 
    "jsdom": "8.4.0", 
    "json-loader": "^0.5.4", 
    "mocha": "^2.4.5", 
    "ncp": "^2.0.0", 
    "node-sass": "3.7.0", 
    "postcss-loader": "0.8.2", 
    "react-addons-test-utils": "^15.4.2", 
    "react-hot-loader": "1.3.0", 
    "react-test-renderer": "^15.4.2", 
    "react-transform-hmr": "^1.0.4", 
    "redux-devtools": "^3.3.1", 
    "redux-devtools-dock-monitor": "^1.1.1", 
    "redux-devtools-log-monitor": "^1.0.11", 
    "regenerator-runtime": "^0.10.3", 
    "remotedev": "^0.1.2", 
    "rimraf": "^2.5.2", 
    "sass-loader": "3.2.0", 
    "storybook-addon-material-ui": "^0.7.6", 
    "style-loader": "0.13.1", 
    "url-loader": "0.5.7", 
    "vueify": "^9.4.0", 
    "webpack": "^1.13.0", 
    "webpack-babel-jest": "^1.0.4", 
    "webpack-dev-middleware": "^1.6.1", 
    "webpack-dev-server": "^1.16.3", 
    "webpack-hot-middleware": "^2.10.0" 
    } 
} 
+0

* "해당 패키지의 수동 설치로 문제가 해결되었지만 해결되지 않았습니다."* 패키지를 어디에서 가져오고 있습니까? 설치 만하면 아무 것도하지 않습니다. –

+0

필자는 테스트 파일에서'import "babel-polyfill"'을 실행하고 내 '.babelrc'의'plugins' 섹션에 변경하지 않고 제공하려고했습니다. – rafafan2010

답변

3

을하며 해결 내 문제

관련 문제