Osc*_*ong 5 vue.js jestjs github-actions
升级到 Vue 3 后在 GitHub actions 中运行单元测试时,出现以下错误:
\n> vue-cli-service test:unit\n\n\xe2\x97\x8f Validation Error:\n\n An unknown error occurred in @vue/cli-plugin-unit-jest:\n\n Cannot resolve "@vue/vue3-jest" module. Please make sure you have installed "@vue/vue3-jest" as a dev dependency.\nRun Code Online (Sandbox Code Playgroud)\nGitHub actions 脚本用作npm ci上一步来安装依赖项,并且测试命令vue-cli-service test:unit在本地运行。
我的 package.json 有:
\n"devDependencies": {\n "@babel/core": "^7.16.7",\n "@babel/eslint-parser": "^7.16.5",\n "@babel/plugin-proposal-optional-chaining": "^7.14.5",\n "@storybook/addon-a11y": "^6.4.12",\n "@storybook/addon-actions": "^6.4.12",\n "@storybook/addon-essentials": "^6.4.12",\n "@storybook/addon-links": "^6.4.12",\n "@storybook/addon-storysource": "^6.4.12",\n "@storybook/vue": "^6.4.12",\n "@testing-library/dom": "^7.31.2",\n "@testing-library/jest-dom": "^5.16.1",\n "@testing-library/user-event": "^13.2.1",\n "@testing-library/vue": "^6.4.2",\n "@vue/babel-preset-app": "latest",\n "@vue/cli-plugin-babel": "~5.0.0-rc.2",\n "@vue/cli-plugin-e2e-cypress": "~5.0.0-rc.2",\n "@vue/cli-plugin-eslint": "~5.0.0-rc.2",\n "@vue/cli-plugin-router": "~5.0.0-rc.2",\n "@vue/cli-plugin-unit-jest": "^5.0.0-rc.1",\n "@vue/cli-service": "~5.0.0-rc.2",\n "@vue/cli-shared-utils": "^4.5.10",\n "@vue/eslint-config-airbnb": "^6.0.0",\n "@vue/preload-webpack-plugin": "^1.1.2",\n "@vue/test-utils": "^2.0.0-rc.18",\n "@vue/vue3-jest": "^27.0.0-alpha.4",\n ...\n "babel-loader": "^8.2.2",\n ...\n "jest": "^27.1.0",\n "jest-extended": "^0.11.5",\n "jest-junit": "^8.0.0",\n ...\n "webpack": "^5.65.0",\n "webpack-cli": "^4.9.1",\n },\nRun Code Online (Sandbox Code Playgroud)\n和我的 jest.config.js 匹配使用 @vue/vue3-jest 的文档:
\n "transform": {\n "^.+\\\\.vue$": "@vue/vue3-jest"\n },\nRun Code Online (Sandbox Code Playgroud)\n
请尝试一下
# Vue 2
npm install --save-dev @vue/vue2-jest@28 # (use the appropriate version)
yarn add @vue/vue2-jest@28 --dev
# Vue 3
npm install --save-dev @vue/vue3-jest@28 # (use the appropriate version)
yarn add @vue/vue3-jest@28 --dev
Run Code Online (Sandbox Code Playgroud)